Giter VIP home page Giter VIP logo

cs100-shanghaitech's Introduction

CS100 - Computer Programming - Shanghaitech

This is a collection of CS100 course projects in 2019 fall. It contains 8 individual projects, including basic C and C++ programming language

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.