Skip to content

Clonasser/CS100-ShanghaiTech

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS100 - Computer Programming - Shanghaitech

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++.

What can I learn from these projects?

  • 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...)

Contents of each project/homework

  • 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)

How long will I spend on these problems?

  • 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

About

Computer programming - ShanghaiTech

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 78.1%
  • C 15.5%
  • Python 3.3%
  • CMake 1.9%
  • MATLAB 1.2%