This is a collection of CS100 course projects in 2019 fall. It contains 8 individual projects, you need to write all of them in C or C++.
-
Syntax of C and C++ programming language
- Concepts of compiling, assembling, linking, loading
- Variables & functions
- Operations
- Structures
- Control flow
-
Recursion
-
Object oriented programming (Encapsulation, Inheritance and Polymorphism)
-
Templates
-
CMake
-
Basic multi-thread programming
-
Part of new features of C++11/14/17
-
Basic functional programming
-
Dependencies management (Eigen, OpenCV...)
- HW1 (Simple problems)
- Basic syntax of C
- HW2 (Simple problems)
- Basic syntax of C
- HW3 (Linked List & Sorting)
- Structures
- Pointers
- HW4 (C++ DynamicArray & Simple Game)
- OOP Part I (Encapsulation)
- HW5 (C++ calculater, Structured Output, LookupTable)
- OOP Part II (Inheritance & Polymorphism)
- HW6 (More complex C++ programming)
- More Complex OOP
- Templates
- Operator overloading
- HW7 (Image filtering)
- CMake
- Multi-threading
- Concepts of convolution
- Eigen
- HW8 (Polynomials, derivatives, Newton's Method)
- Templates
- Iterators
- Operator overloading
- Functional programming (lambdas)
- For me (one of head TAs of this course, and the author of part of this projects), about 15 hours in total
- If you have never learned programming before, maybe 2 weeks or much longer