Programming & Data Structures
Offered By: New York University (NYU) via edX
Course Description
Overview
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.
Syllabus
Course 1: Introduction to Programming in C++
Learn the fundamentals of programming in the C++ programming language, including iteration, decision branching, data types and expression.
Course 2: Advanced Programming in C++
Learn the advanced programming topics in the C++ programming language, including functions, computation complexity, arrays and strings.
Course 3: Introduction to Data Structures
Learn the advanced programming topics in the C++ programming language, including pointers, dynamic storage, recursion, searching, and sorting.
Course 4: Advanced Data Structures
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.
Courses
-
This course will soon be retired. Last day to enroll is 12/31/2022 at 00:00 UTC.
This is the 1st course in the intermediate, undergraduate-level offering that makes up the larger Programming and Data Structures MicroBachelors program. We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.
- Introduction to Programming in C++
- Advanced Programming in C++
- Introduction to Data Structures
- Advanced Data Structures
These topics build upon the learnings that are taught in the introductory-level Computer Science Fundamentals MicroBachelors program, offered by the same instructor.
This is a self-paced course that provides an introduction to the C++ programming language. Among the topics covered is the development of command-line programs that utilize different data types, expressions, decision branching, and iteration to solve problems. Students learn to program in C++ through the lectures and the labs. C++ programming material is presented over eight weeks of interactive lectures with weekly quizzes to assess your understanding of the material Students will experience hands-on practice writing C++ programs through ten lab challenges.
Students will experience the development cycle by compiling their C++ programs from human-readable source code to machine-readable object code. They will then link their objects to create an executable that can be run interactively.
-
This course will soon be retired. Last day to enroll is 12/31/2022 at 00:00 UTC.
This is the 2nd course in the intermediate undergraduate-level offering in the larger Programming and Data Structures MicroBachelors program. We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.
- Introduction to Programming in C++
- Advanced Programming in C++
- Introduction to Data Structures
- Advanced Data Structures
These topics build upon the learnings that are taught in the introductory-level Computer Science Fundamentals MicroBachelors program, offered by the same instructor.
This is a self-paced course that continues in the development of C++ programming skills. Among the topics covered is the development of more advanced command-line programs that utilize functions, arrays, and strings to solve problems. Students learn to program in C++ through the lectures and the labs. C++ programming material is presented over eight weeks of interactive lectures with bi-weekly quizzes to assess your understanding of the material Students will experience hands-on practice writing C++ programs through twelve lab challenges.
Students will not only learn to use these more advanced procedural programming functionalities. They will also learn to analyze the computational complexity of their code. Computational complexity theory focuses on classifying computational problems according to their inherent difficulty and relating these classes to each other. A computational problem is a task solved by a computer. A computation problem is solvable by the mechanical application of mathematical steps, such as an algorithm.
A problem is regarded as inherently difficult if its solution requires significant resources, whatever the algorithm used. The theory formalizes this intuition by introducing mathematical models of computation to study these problems and quantifying their computational complexity, i.e., the number of resources needed to solve them, such as time and storage.
-
This course will soon be retired. Last day to enroll is 12/31/2022 at 00:00 UTC.
This is the 3rd course in the intermediate, undergraduate-level offering that makes up the larger Programming and Data Structures MicroBachelors program. We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.
- Introduction to Programming in C++
- Advanced Programming in C++
- Introduction to Data Structures
- Advanced Data Structures
These topics build upon the learnings that are taught in the introductory-level Computer Science Fundamentals MicroBachelors program, offered by the same instructor.
This is a self-paced course that continues in the development of C++ programming skills. Among the topics covered is the development of more advanced command-line programs that utilize Pointers, Dynamic Storage, Recursion, Searching, Sorting to solve problems. Students learn how to use and program these data structures through the lectures and the labs. C++ programming material is presented over eight weeks of interactive lectures with quizzes to assess your understanding of the material Students will experience hands-on practice writing C++ programs through fourteen lab challenges.
Students will not only learn to use data structures to organize, manage, and storage in formats that enable efficient access and modification. A data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data.
Taught by
Aspen Olmsted and Itay Tal
Tags
Related Courses
Conception et mise en œuvre d'algorithmes.École Polytechnique via Coursera Algorithmic Thinking (Part 2)
Rice University via Coursera Алгоритмы, часть I
Princeton University via Coursera Algorithms for Searching, Sorting, and Indexing
University of Colorado Boulder via Coursera Algorithms, Part I
Princeton University via Coursera