Programming & Data Structures with NYU
Skills Covered: C++ Programming, Data Structures, Function Analysis, Function Implementation, Function Labs, Array Labs, Strings, Programming Development Lifecycle, Object-Oriented Programming, Structured Programming, Procedural Programming, Searching and Sorting Algorithms, Debug
ABOUT THIS MICRO BACHELOR
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. 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.
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.