|CPSC 225||Intermediate Programming||Spring 2014|
On this page:
|Assignments and Evaluation||
Readings: Readings are the first introduction for most material. There is not a great deal of reading, and it is expected that you will do what is assigned. Some material in the assigned readings may not get covered in class.
Labs: Lab exercises are intended to provide practice and reinforce specific concepts from class. A few labs will introduce new material. It is intended that you will be able to complete most of the lab during the lab period, if you come to lab prepared (read through the handout, be familiar with the material) and give the assignment your full attention during lab. Anything not completed during lab must be finished outside of class.
Programming Assignments: Programming assignments provide an opportunity to work on larger programs, and to practice going from specifications to a working program. Programming assignments will typically be two- or three-week assignments, and will be the bulk of the out-of-class work for this course.
Exams: There will be three midterm exams. These will be in-class, written exams. The dates and times of the exams are noted on the syllabus - be sure to consult this schedule before making travel arrangements! More details about each exam will be announced prior to the exam.
Final Project: There will be a final project instead of a final exam. It will be due at the end of the registrar-scheduled final exam time slot. More details about the project will be announced later in the semester.
Final Grades: Final grades will be computed as follows:
More than three absences (for any reason) will lower your final grade, and more than seven absences (for any reason) may result in failure in the course. The number of unexcused absences will be taken into account when considering borderline final grades.
You are also expected to participate in class. This does not mean that you have to volunteer for everything, but you should be actively engaged in class - i.e. you are paying attention and contribute meaningfully to the class on a regular basis. You should not hesitate to ask questions about the course material, either in class or outside of class via email or office hours - if you remain confused about something, it will make the next topic that much harder. Class participation will be taken into account when considering borderline final grades.
Extra Credit: Some extra credit opportunities may be available on programming assignments and the final project. Another avenue for extra credit is attending colloquium talks (see below). If you are interested in extra credit, take advantage of these opportunities!
Talks: The Math/CS Department sponsors a number of colloquium talks from faculty, alumni, and visitors during the semester. These talks are a great way to find out about a variety of topics in the fields of mathematics and computer science. You can earn extra credit for attending talks relevant to computer science - this includes computer-science-themed math/CS colloquium talks, as well as any other talk given on campus that is relevant to computer science. (Feel free to suggest talks that might qualify.) To get credit for attending a talk, you must be present at the talk and must submit a three-paragraph writeup of the talk: one paragraph summarizing the talk, one paragraph discussing what you learned from the talk, and one paragraph explaining why the talk is relevant to computer science. Writeups are due within one week of the talk. Writeups which are clearly written, substantive, contain the three paragraphs listed, and make a strong case for the relevance of the talk to the course will earn full credit. A maximum of four talks (for a total of 1% of the final grade) will be counted for extra credit.
Following reasonable conventions is important for readability of your code. The course coding standards specify the particular conventions you should use in this course. You will be graded on how well your programs adhere to these standards.
Labs, programming assignments, and projects will be graded on a combination of functionality (does the program run, and does it do what it should?) and style (which includes readability, commenting, clarity, and design).
Programming can be a lot of fun (and it's great to be able to point to something you created), but it can also be challenging to learn. Here are a few tips:
If you are having trouble with the course material or get stuck on a problem you can't figure out how to solve, don't just ignore it! The course material is cumulative, and skipping a difficult topic will make it harder to be successful with the next.
The most useful resources for this course are the instructor (during lab, during office hours, and dropping by or scheduling a meeting) and the department's TAs (available many evenings in the Lansing 310 computer lab). These should be your first stops if you are having trouble with course material. For more general help, such as with writing, study skills, or time management, the Center for Teaching and Learning (CTL) also has resources to help you. See the CTL statement below.
|Center for Teaching and Learning (CTL)||
At Hobart and William Smith Colleges, we encourage you to learn collaboratively and to seek the resources that will enable you to succeed. The Center for Teaching and Learning (CTL) is one of those resources: CTL programs and staff help you engage with your learning, accomplish the tasks before you, enhance your thinking and skills, and empower you to do your best. Resources at CTL are many: Study Mentors help you find your time and manage your responsibilities, Writing Fellows help you think well on paper, and professional staff help you assess academic needs.
I encourage you to explore these and other CTL resources designed to encourage your very best work. You can talk with me about these resources, visit the CTL office on the 2nd floor of the library to discuss options with the staff, or visit the CTL website.
The CTL resource most useful for this class is the Study Mentors program: