What you will learn
- Identify and explain a programming development lifecycle, including planning, analysis, design, development, and maintenance.
- Demonstrate a basic understanding of object-oriented programming by using structures and classes in software projects.
- Use object-oriented programming techniques to develop executable programs that include elements such as inheritance and polymorphism.
- Document and format code in a consistent manner.
- Apply basic searching and sorting algorithms in software design.
- Apply single-and multi-dimensional arrays in software.
- Use a symbolic debugger to find and fix runtime and logical errors in software.
- Demonstrate a basic understanding of programming methodologies, including object oriented, structured, and procedural programming.
- Describe the phases of program translation from source code to executable code.
- Design and develop programs that utilize linked lists to store data internally.
- Design and develop programs that utilize stacks and queues to manage collections of data.
- Design and develop programs that recursion to solve problems that can be expressed with recurrence.
- Utilize binary search trees and balanced trees to implement fast retrieval of data from a collection of data stored in memory.
This program will teach you core computer science competencies in programming and data structures. Understanding how programming works is essential in many technical disciplines such Information Technology, Software Engineering, Cybersecurity, and Computer Science. The courses utilize the C++ programming languages to establish a solid foundation in programming and data structures for the students. Students gain valuable hands-on experience programming solutions to problems in the labs. I the labs, students will practice their core programming skills and will also develop many advanced data structures including, hashtables, sorting and search algorithms, binary trees, AVL trees, graph algorithms and many more advanced computing topics. In addition to the applied programming labs, students will also gain an understanding of computational complexity through the analysis of the data structures and programs that are developed.
Courses in this program
NYUx's Programming & Data Structures MicroBachelors® Program
- 7–9 hours per week, for 9 weeks
Learn the advanced programming topics in the C++ programming language, including file processing, linked lists, stacks, queues, trees, binary search trees and tree balancing algorithms.
Program Certificate Requirement
In order to be eligible for credit and a program certificate, you must purchase, complete and pass with a 70% or higher in all program courses in the NYU Programming and Data Structures program.
edX has partnered with Thomas Edison State University, a public university in New Jersey that specializes in adult education, who provides credit for MicroBachelors programs at no additional cost. Please note, credit for this program is not provided by New York University. This program is awarded 6 credits at Thomas Edison State University towards 2 general elective courses. In order to redeem your credits please refer to these step-by step directions. Learn more about credit.
- Computer Programmers ($86,550 avg salary in US) - https://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm
- Software Developers ($105,590 avg salary in US) - https://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm
- Computer and Information Research Scientists ($122,840 avg salary in US) - https://www.bls.gov/ooh/computer-and-information-technology/computer-and-information-research-scientists.htm
- An introductory understanding of programming is assumed. The NYU MicroBachelors in Computer Science Fundamentals would be a great place to start.
- We utilize the g++ compiler that can be installed on Windows, Mac or a Linux Operating system. It is ideal for a student to have access to one of these machines but they can also use a cloud hosting service that allows them to compile programs with g++ online.