CS100: Intro To Programming (Summer Homeworks'19)

Note: This is not the main course webpage, a separate Piazza page will be arranged once the course has officially started. The present page is only for the preparatory summer homeworks.


Introduction to Programming is a mandatory first-year course for all students enrolling at SIST, ShanghaiTech. Programming is an essential, foundational skill that is perhaps more instrumental than any other to your successful university studies. As students arrive with diverging backgrounds in programming, we issue the present summer homework booklet with basic lessons and (graded!) exercises for you to get started before the actual start of the semester. The intention is to standardize prior knowledge in programming across the entire class. The summer homework aims at a very basic level of C programming. Instructions on how to submit your solution for online grading are provided at the bottom of this page. Note that the grades will already influence your overall outcome for CS100.

Summer homework booklet

Please download the summer homework booklet with introductory material and exercises from here:

Summer homework booklet

The booklet contains 4 exercises that you are supposed to submit through the online grading system. Instructions on how to login to the online grading system to submit your solution are provided below. The deadline for submitting the homeworks is the

Deadline: 20th of September 2019, 23:59!

Please make sure to carefully read the information on the first page about plagiarism, you do not want to make any mistakes here! Please also make sure to consult the below information on how to setup a local editing and compilation environment, and also consider to download the provided test examples (again, information on how to use them are provided in the booklet itself).

Access to the online grading system

The online grading system for the summer homeworks can be accessed here:

Online grading system

Your login name is given by your ShanghaiTech student number, and the default password is "CS100summerhomework".

Important: Please customize your password right after you logged in for the first time!

Test examples

The expected output of Exercise 1 can be downloaded from here:

Solution exercise 1

The expected output of Exercise 2 can be downloaded from here:

Solution exercise 2

The expected output of Exercise 3 can be downloaded from here:

Solution exercise 3

The expected output of Exercise 4 can be downloaded from here:

Solution exercise 4

Setting up your build environment

Please consult the following document for basic instructions on how to install a local compilation environment, and how to use it:

Build environment installation