Lecture Schedule
We have five weeks to cover a number of challenging subjects. The following schedule is subject to change.
- Week 1: Beginning C: Variables (int, double, char), Boolean expressions, Control (if, while, for), Functions.
- Week 2: Moderate C: Functions, Testing, Arrays, Strings, Dynamic Memory
- Week 3: Advanced C: Dynamic Memory, Structs, Data structures
- Week 4: Advanced C: Data structures, File I/O
- Week 5: Advanced Topics: Bitwise Operations, Graphs, etc… Dependent on class interests. (Final Exam: Friday, August 26)
Evaluation
Your grade in this course will be computed according to the following formula:
- 10% Labs
- 40% Homework
- 20% Quizzes
- 30% Final Exam
Homework
There will be regular homework assignments that must be submitted in subversion by midnight on the due date, unless otherwise noted on the homework page. In the homework assignments, you will be required to solve a programming problem(s) related to the topics covered in class so far.
Late work will not be accepted. Our time frame is compressed and you must keep up. Exceptions to this policy will be granted only in the case of extraordinary circumstances.
NOTE: Homework assigned and due dates are subject to change with notice.
Labs
There will be five lab sessions to complement the class lectures. Attendance to the lab sessions is mandatory. Labs should not take you longer than the lab period to complete but labs will always be due by midnight on Thursdays.
Quizzes and Exams
There will be weekly quizzes held every Monday (with the exception of the first Monday of the class), unless stated otherwise. You will be given between 20-30 minutes to complete the quiz. Quizzes are closed-book. Of course, you will not be allowed to talk with your classmates during the quizzes.
The final exam will be Friday, August 26th, 2016. And, again, you will not be allowed to talk with your classmates during the exam.
The quizzes and final exams are not intended to test your ability to memorize C syntax, learn algorithms by heart, or remembering exactly how a certain data structure is crafted. Rather, the goal of the exam is to test that you understand all the material seen in class and that you know how to apply all that knowledge to construct a working program.
Textbooks
There are two recommended texts for C. They are both useful but not required.
These books are available for purchase from the
Seminary Co-op Bookstore
Your are not strictly required to purchase the books, as the lecture notes should be enough to get you past the homework and the exam. However, we strongly recommend that you buy the books if you intend to continue working with C, as it can be
an invaluable reference (plus the source of many interesting exercises during the course itself).
Academic Honesty
As the world of computer programming becomes ever vaster and the
Internet becomes ever more populated with ripe fruits to copy and
paste, your personal ethics are absolutely essential in maintaining the
worth and integrity of your education. Remember that an honest
failure is of infinitely greater value than a dishonest success.
I can't amplify this enough.
College-wide honesty guidelines are
here. The college's policies are always the last word, if there
is any uncertainty.
The following rules of thumb summarize honesty as it pertains to this course:
- Do not copy anyone's work.
- Do not allow your work to be copied by anyone.
- Do not submit work identical to another student's.
- Document all collaboration.
- Credit your sources.
To expand on the second rule, sharing completed or partially completed
work in advance of its deadline in any way, including posting to the
Internet, is expressly forbidden.
When it is time to do the actual coding, writing, etc., do
your own work.
Your work.
Dishonest behavior will result in serious consequences.