[ Formal Data | Course Tools | Syllabus | Course Books | Course Schedule | Course Materials | CourseWeb | KnowledgeTree ]
Upon satisfactory completion of this course, students will be able to write small meaningful C programs that includes major control structures (such as loop, selection), programming patterns (such as maximum or sequential array processing), and data types. On the way to that goal we will have to learn a reasonable subset of C language, explore many working examples and write multiple C programs.
The course is targeted to the students who have no or very little programming knowledge and experience. Those with some good programming background are strongly advised to proceed directly to IS15. Vice versa, the students who experience problems when taking more fast and steep programming courses such as IS15 are advised to take IS12 first.Programming courses are traditionally among the hardest and most time consuming courses. You will have to do a lot of work each weak to follow the course: do your readings, run and explore program examples, solve programming exercises and homeworks. To help the complete beginners to master the subject, we have provided several learning tools. These tools do help a lot to those who use them - but it also requires time. To be on the safe side, plan to spend at least 6 hours outside of the classroom each week for this course. If you have some programming background, you may need less than 6 hours. However, some students may need more than that. Note also that you need to invest your time regularly. Almost every lecture is build upon material presented in several earlier lectures. A failure to comprehend just one lecture may get you out of track for the rest of the course. If you have too many other commitments this semester to allocate enough time every week, consider taking this course later.
Course assessment includes quizzes that will be offered through the course, homework programming assignments, and two exams - midterm and final. The final exam is not cumulative. You final grade has three components: work over the duration of the course, midterm exam grade, and final exam grade. Grade for the work over the duration of the course is a sum of your assignment grades, quiz grades (we will have a quiz almost every week, but two lowest quiz grades will be excluded) and extra credit points. A value of a 5-questions quiz is 5 points. A value of a homework assignment is between 6 and 12 points (depending of the complexity of the problem). The value of each exam is 100 points. Exam grades will be scaled to adjust to the class performance.
Your progress will be measured as a percentage of the max possible points: (assessment_points + quiz_points + activity_points + exam_points)/(max_assessment_points + max_quiz_point s+ max_exam_points) * 100%. Using this formula you can always check where you are standing. Score < 50% corresponds to F, 50-62.5 is D range, 62.5-75 is C range, 75-87.5 is B range, and 87.5-100 is A range. Lower and upper parts of each range corresponds to - and + modifiers.
You are expected to be fully aware of your responsibility to maintain a high quality of integrity in all of your work. All work must be your own, unless collaboration is specifically and explicitly permitted. You are welcome to discuss the solution of programming exercises that are not graded. You are even encouraged to do it within study groups and using CourseWeb discussion forums. For graded homework assignments the only acceptable collaboration is to discuss the algorithm (the idea) of the solution. No collaboration on the level of program code is permitted. Every student has to write own program solution from the beginning to the end. You should not view or copy the code written by other students, neither should you share your code with others.
Any unauthorized collaboration or copying will at minimum result reducing credit for the affected assignment (50% for the first case, 100% for further cases) and may be subject to further action under the University Guidelines for Academic Integrity. You are expected to have read and understood these Guidelines. A document discussing these guidelines was included in your orientation materials.
The due date for assignments is strict. If a dropbox or a paper version of your
homework solution is submitted after the due date you will incur late days.
For extreme circumstances you have 5 late days to use at your discretion (i.e.
you may use them on a single assignment, or distribute them over several assignments).
Outside of this limit late assignment will not be considered. Weekends, holidays,
or break days are not counted as late days.
You can also improve your submission or fix errors in your submission until the due date. Simply upload the new version adding "_v2", "_v3", etc to the name of the link to the program (i.e., program3_v2). No assignment can be submitted or resubmitted after it was analyzed during the lecture.
Copyright © 2003 Peter Brusilovsky