|Instructor||John Foley firstname.lastname@example.org|
|Time||W 4:00-5:15 - Lecture / Coding Lab|
|Location||Edlab LGRT225 Not what it says on SPIRE|
|Prerequsites||CS121 & CS187|
|Textbook||None required; try: Wikibook on C Programming|
|Office Hours||I don't have a private office! I'll probably arrange to be hanging out somewhere before class on Wednesdays, but don't hesitate to email me for a meeting.|
A brief introduction to the C programming language for students with a good working knowledge of Java and data structures. This course is good preparation for COMPSCI 230 and courses that use C and C++. Prerequisites: COMPSCI 121 and 187. Runs for 6 weeks. This course is for CS minors and majors only, but it does not count towards either degree. 1 credit.
Course Goals & objectives
The goal of this course is to provide a hands-on experience with C programming. A successful student will be comfortable compiling C programs at the command line and is familiar with basic structured programming concepts: structs, unions, functions, enums, loops, switch statements, and standard IO mechanisms.
This class is a 1-credit P/F class. If you get a 65 or higher you will "Pass" and it will not affect your GPA. If you receive a lower grade, 1 credit point of a zero will be averaged into your GPA.
30% - Class Exercises
Usually we will begin class with an example program for you to type into the computer, compile & run. In this workshop time, we will discuss concepts. You will receive full credit if your program compiles and runs by the midnight the following week.
- Class Exercise 1 (13 Sept 2017) Guessing Game and
- Class Exercise 2 (20 Sept 2017) Compilation, Math, Simple Arrays & Files
ssh email@example.com; cd class2; cat instructions.md
- Class Exercise 3 (27 Sept 2017): Read, Understand, Implement
- Class Exercise 4 (4 Oct 2017): 2D arrays & sizeof
- Class Exercise 5 (11 Oct 2017): TBD, Strings
- Class Exercise 6 (18 Oct 2017): Work on Project
30% - Worksheets
Your worksheet assignments will be C files that are partially created by me. By filling out the function definitions and blocks you will be able to edit and get full credit on these files. These are also due midnight the following week.
The worksheets will be located on the
umassc.ddns.net machine under the
40% - Projects
Starting Week 4, you will begin work on a small project. We will work on selecting one or two appropriate projects together. You will not be able to work in groups or to use any projects from other classes (i.e., CS230) for these projects. You will either do 1 medium sized project (40pts) or 2 small projects (20 pts each). More information on the project and suggestions are available here.
Where are the slides?
This class is not a puzzle where you decode the slides and shuffle them into the assignments. The code itself will be your resource, and you are encouraged to use high quality resources on the internet to help in certain circumstances. I may occasionally present slides, but I find them to be a poor method of learning new programming languages: you're only likely to learn new syntax, ideas, and concepts if you put them to use.