CSCI 103 Fall 2017: Introduction to Programming
Create a Github account
Before you start your first CS 103 assignment, you must have an account on Github.com. If you have not created a Github account yet, follow the instructions in this section. If you already have a Github account and you wish to use it for this course, you can skip to the next section.
Github is a development ecosystem based around git. We will be using Github to authenticate your identity and you will also use it in CS 104 to store your code.
Start by visiting Github's sign-up page. You are free to choose your username and does not necessarily need to match your USCNet account. Your email, however, should be your USC e-mail address.
You will be sent an email to verify your email address. Verify your account before proceeding.
Setup your Github Account
- Be sure to not miss the step labelled: VERY IMPORTANT AND EASY TO MISS STEP.
- Once you think you have followed all the steps to sign-up and setup your Github account, click this link to try signing-in.
When you complete a lab, you must demonstrate it in person. This should either be done in your registered lab section, or at the office hours of a TA or CP earlier in the week. You cannot submit a lab late except if an instructor has given you special permission.
|Topic||Due (in Lab)|
|Lab 1||Linux and your Virtual Machine (VM)||Instructions||Fri 8/25||Submit Answers|
|Lab 1 is submitted entirely online, and demoing in person is optional.
But Labs 2 and later require an in-person demonstration to get credit.
Upload your work after demoing it, for archival purposes.
|Lab 2||Variables and Expressions||Instructions||Fri 9/1||Upload|
|Lab 3||Control Structures and
|Lab 4||Arrays and Functions||Instructions||Fri 9/15||Upload|
|Lab 5||2D Arrays and Image Processing||Instructions||Fri 9/22||Upload|
|Lab 6||C-Strings and Pointers||Instructions||Fri 9/29||Upload|
|Lab cancelled during week of written midterm|
|Labs below this line are still tentative|
|Lab 7||Files, Dynamic Memory and
|Lab 8||Recursion||Instructions||Fri 10/20||Upload|
|Lab 9||Object-Oriented Programming||Instructions||Fri 10/27||Upload|
|No lab during the week of the programming midterm|
|Lab 10||Vectors||Instructions||Fri 11/10||Upload|
|Lab 11||Linked Lists||Instructions||Fri 11/17||Upload|
Homeworks are due at 11:59:59 PM on the indicated date, but to get the full educational benefit, you should do them before lecture while reading the textbook. Any problem solved after the deadline gets half-credit.
|Topic||Due (11:59 PM)|
|HW 1||Variables and Operators||Solve Problems||Tue 8/29|
|HW 2||Control Structures||Solve Problems||Thurs 9/7|
|HW 3||Arrays||Solve Problems||Thurs 9/14|
|HW 4||Functions||Solve Problems||Thurs 9/21|
|HW 5||Pointers||Solve Problems||Thurs 9/28|
|HW 6||Recursion||Solve Problems||Thurs 10/19|
|HW 7||Object-Oriented Programming||Solve Problems||Thurs 10/26|
Programming assignments are due at 11:59:59 PM on the indicated date. There is a penalty per day late and you have 2 grace days during the semester, but work is not accepted more than 48 hours late. See the syllabus for full details. Before you submit ensure there are no compiler warnings. If there are please fix them. If you get warnings from our submission auto-checker, please refer to our PA Warning Solution Page. You must follow the style guide outlined here.
|Topic||Due (11:59 PM)|
|PA 2||Twenty-One||Instructions||Thurs 9/28||Submit|
|PAs below this line are tentative|
|PA 3||It's all a Blur||Instructions||Sun TBA||Submit|
|PA 4||Connected Component Labeling using BFS||Instructions and files||Tues TBA||Submit|
|PA 5||The Social Network||Instructions||Tues TBA||Submit|
|PA 6||Six Degrees of Kevin Bacon(PA6 is extra credit for Spring 17, worth 6 points, 2% of total grade)|| Instructions
|Written midterm||10/5||S15 exam and solutions|
|Programming midterm||11/2||S15 exam and solutions|
|Final exam||12/11||S15 exam and solutions|