This course covers fundamental topics in Computing, the“C” part of the core ABC (AI model/algorithm, Big data, Computing) courses in data science.

The first half of this course comprises C++ programming and C++ language-based object-oriented programming. Students will (1) learn grammars of C++ language, concepts and usage of class, template, and important libraries, (2) understand principles of object-oriented programming, such as abstraction, inheritance, and ploymorphism, and (3) implement class-based object-oriented programming through assignments.

The second half of this course comprises intermediate-level data structures and algorithms and deep learning platforms. Students will (1) learn data structures and algorithms that are not covered in “Computing Foundations for Data Science”course (the prerequisite course), such as sorting algorithms (quick sort, radix sort, heap sort), tree algorithms, and graph algorithms (Dijkstra, Kruska, etc), (2) implement these data structures and algorithms using C++ language. (3) In addition, students will learn widely-used deep learning platforms, such as Pytorch and TensorFlow, implement fundamental principles of deep learning that are taught in “Machine Learning and Deep Learning 1” course both with and without these deep learning platforms.