CSCI 205: Programming Languages Spring 2016
Instructor: Rob Smith
Social Science 413
Office Hours: TuTh 11-12:40
Class times:
TuTh 12:40 pm - 2:00 pm, SS 362
Overview:
The objective of this class is to provide students the opportunity of becoming proficient in the following programming languages: C, C++, Ruby.
Class format:
This is a four credit course, meaning that the university expects me to provide you with 16 hours per week worth of material for this class. I have done my best to organize those 16 hours in a way that is most conducive to your progress. The time expectations break down as follows:
· 3 hours per week in class. We will spend most of the time in small groups writing code for credit.
· You will spend approximately 13 hours per week outside of class. This time will be divided between self-instruction using online resources and individual coding assignments.
o Self-instruction: To minimize your textbook costs, I have created a custom textbook that covers C and C++ (there is a bit of overlap) for less than the cost of one textbook covering each. This text is an online resource called Zybooks that includes interactive exercises. You will complete the exercises each week for a grade. Ruby will be covered by the Ruby module of CodeAcademy, a free resource that provides proof of completion, which you will submit for a grade.
o Individual coding assignments: There are 10. I have designed these projects to be as straightforward as possible. You are not permitted to share code or discuss the solo projects with anyone except me. A cheat-checking program will be used, and if you are suspected of cheating, you will automatically fail this course. You should always begin the programming projects as soon as they are assigned, as there are no late days and students tend to be overly optimistic about their programming skills. However, many of you will find that you are able to complete the programming projects in much less than 9 hours per week.
Self-instruction:
You are allowed and encouraged to work together on the self-instruction materials. You are not allowed to email/post/share your work, but you are encouraged to meet in small groups and work through the material together. Large groups will not help you learn the material, so large groups are discouraged.
Individual Projects:
You will complete 10 individual projects: 5 in C and 5 in Ruby. The projects build on one another, so I suggest you start early and make every effort to stay on track, as falling behind on a project will impact future grades.
I have made every attempt to equalize the load of each project relative to the other, but where that was not possible, the due dates of the projects have been set accordingly to provide more time where it is needed. If you attack these problems systematically (first write an algorithm in plain English, then enumerate the syntax questions you have, find the answer, then implement the code, testing early and often) you will not have any issues completing them in a timely manner. If you disregard that advice and try to write “Hail Mary” code, you will most likely struggle to complete the projects in a reasonable amount of time. Following this advice is a prerequisite for office hour visits.
Grades:
ZyBook – C/C++ (19 modules) 30%
CodeAcademy – Ruby (19 modules) 15%
Individual out-of-class projects (10 equally weighted) 35%
In-class projects – (16 equally weighted) 20%
Attendance and Make Up Work:
A substantial portion of in class time will be spent on coding activities. In the event of substantial and documented extenuating circumstances, I will consider allowing a makeup. However, there are no guarantees.
Text Book:
There is no print text book for this course. The self-instruction content is linked on Moodle.
Cheating:
Cheating, as defined in the student code of conduct, will result in an automatic failure of the course, and may include all additional measures enumerated in the student code of conduct.
Incompletes and Late Drops:
The university empowers instructors with discretion to approve incompletes or late drops (dropping the course after 45 days). I will not approve either except for valid reasons, which include family emergencies, work complications, or registration issues. I reserve the right of approval on a case-by-case basis.
Disabilities:
This course is accessible to and usable by otherwise qualified students with disabilities. To request reasonable accommodations, please consult with the instructor within the first two weeks of class. Disability Services for Students will assist the instructor and student in the modification process. For more information, visit the Disability Services website at http://life.umt.edu/dss/.