CPSC 225 | Intermediate Programming | Spring 2022 |
On this page:
Course Communication |
Assignments, handouts, and materials from class will be posted on the course web page, specifically the schedule page. You will need to check this page regularly to make sure you stay up-to-date. Some material may be posted on Canvas. There will always be a reference to the existence of this material on the schedule page so that you don't need to also check Canvas for updates. Email will be used for individual communications and for time-sensitive announcements, so you should also regularly check your HWS email account. |
---|---|
Classroom Conduct |
Learning is much more effective if you are engaged in the material. You should come to class prepared for the day's activities, and should be on task during class and lab - please do not surf the web, text, play games, do assignments for other courses, etc during class time. Also please do not wear headphones during lab as it makes it difficult to interact with you. Note taking on paper is encouraged as it avoids the distraction of electronic devices and the act of handwriting helps with retention of information. If you use a laptop or other device to take notes, you are encouraged to turn off notifications and close other applications to reduce the temptation of those distractions. Arriving late, leaving early, and coming and going during class/lab is distracting to me and your fellow classmates and interferes with group activities. Please endeavor to arrive on time, and to take care of any necessary business before or after class/lab so you can be present for the whole period. If you know in advance that you will need to miss part or all of a class or lab, please let me know. |
Mask Policy |
It is the policy of the Mathematics and Computer Science Department that, until further notice, masks must be worn in classes, labs, office hours, Math Intern hours, Teaching Fellow hours, and when present on the third floor of Lansing Hall. Please always wear your mask properly (over your mouth and nose). You are strongly encouraged to use a N95/KN95 mask if possible. |
Assignments and Evaluation |
Readings: Readings are the first introduction for most material - it often takes more than one encounter to fully absorb something, and class time is more effective if it can be used to fill in the gaps and answer questions about things you have already started to think about. Readings are to be completed for the class period where they are listed on the schedule page. Labs: Lab sessions will be held on Tuesdays in the Rosenberg 009 computer lab. Labs explore, practice, and reinforce ideas from class. Some labs may introduce specific software or packages. Labs are intended to be short enough that most, if not all, of the lab can be completed during the lab period with diligent effort. Anything not completed during lab must be finished outside of class. Programming Assignments: The programming assignments (along with the final project) constitute the bulk of the out-of-class work for this course. The programming assignments provide an opportunity to work on larger, more complex programs and to apply the course material. Exams: There will be two midterm exams. These will be written exams held during a regular lab period. The dates of the exams are given on the schedule page. 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. Grades: Final grades in this course will be computed as follows:
If you are concerned about your grade, you are strongly encouraged to come to office hours to get help with any material you may be struggling with. Start assignments early so that you have time to get help before they are due. Staying on top of things and seeking help as soon as possible when you need it is the best route to success. Extra Credit: There may be some opportunities to earn extra credit on programming assignments and the final project by going above and beyond the requirements of the assignment and/or tackling some harder problems. You are encouraged to take advantage of these opportunities to challenge yourself! |
Attendance and Making Up Work |
You should attend every class and lab - missing class means missing out on discussions and activities that take place in class, and missing lab means you miss group activities and an opportunity to get help if you need it as you are working. This puts a greater burden on you to catch up, and students who regularly miss class often end up not doing as well in the course. However, especially with the continued threat of COVID, it is understood that there may be extenuating circumstances which make attending every class difficult. If you cannot attend class or lab, please let me know and make sure that you check the schedule page for new assignments and materials from class, complete any missed readings or labs, and come to office hours if you have any questions or need help with any aspect of the material. This should be done promptly to avoid falling behind. If you miss more than three classes/labs during the semester or if you miss several classes/labs in a row, you are at greater risk for falling behind. In that case, please see me to discuss options for helping you stay on track. |
Late Policy, Extensions, and Rescheduling Exams |
There is a steady workload throughout the course, and foundational topics introduced earlier are used and built on later in the course. Both of these mean that it is important to stay on track. However, as with attendance, it is understood that there may sometimes be extenuating circumstances which make meeting every deadline difficult. Three late days are allowed for labs and programming assignments. (Turning in an assignment by midnight on the due date is considered a half day late, otherwise only whole-day increments are counted - turning in an assignment any time the next day after the due date is one day late, and so forth.) Late days can be used for any reason. You can use all three late days on one assignment or spread them out over multiple assignments. Beyond the late days, late work is not accepted. If illness, a personal or family emergency, or another crisis causes you to miss several classes in a row or otherwise presents an ongoing difficulty that adversely affects your work, please see me as soon as possible to discuss options for staying on track. If illness, a personal or family emergency, or another crisis results in an absence on an exam day, please let me know as soon as possible. Any extension will generally be for only a short period. If you have an unavoidable conflict with the date of an exam, please see me as soon as possible (before the exam date!) to discuss options for rescheduling. In both cases, you may not discuss the exam with anyone until you have turned it in. No work will be accepted after the end of the Registrar-scheduled final exam time slot except in the case of an incomplete. In particular, late days cannot be used to extend the due date of the final project beyond the final exam time slot. |
Working Together and Academic Integrity |
The HWS Principle of Academic Integrity governs all of the work completed in this course. Specifically:
Even though getting help from others is allowed for labs (and more limited discussions are allowed for programming assignments and projects), copying part or all of someone else's solution is expressly prohibited and it is never acceptable to be in possession of someone else's program or solution before you have handed in your own. This includes both computer files and paper copies. Decompiling or reverse-engineering someone else's code (including provided code) is also prohibited. All of this should be evident: using someone else's program or solution "as a guide" to completing your own is plagiarism. Unless otherwise prohibited (such as on exams), you can use other materials (such as reference books or websites) as technical references to learn about a particular topic (algorithm, data structure, technique, etc). However, looking for and/or copying a solution is not acceptable (even if you make some modifications) - the idea here is that someone else's solution is not helping you practice applying the material for yourself, and doesn't show your own level of mastery. If any case you are unsure about what is acceptable and what crosses the line when it comes to collaboration and use of outside resources, please ask! From the HWS Catalogue: (available online at http://www.hws.edu/catalogue/policies.aspx)
|
Plagiarism in Programs and on Problem Sets |
As with papers, verbatim copying of programs and problem solutions constitutes plagiarism. Also as with papers, plagiarism is not limited to verbatim copying - copying the significant ideas and structure of someone else's program/problem solution also constitutes plagiarism.
But aren't all programs which solve the same task/solutions to the same
problem pretty much the same, so won't my program/solution look like everyone
else's even if I worked by myself?
Programming/problem solving techniques are often explained via examples -
what's the difference between using an example and "copying the
significant ideas and structure"?
OK, then, so I can't use any examples because that constitutes
plagiarism?!
Using "examples" (as defined above) is generally OK but using "solutions" is not.
There's a fuzzy middle ground here, and I'm still not sure exactly
what is OK and what isn't.
|
Being Successful |
Note taking on paper is encouraged as it avoids the distraction of electronic devices and the act of handwriting helps with retention of information. (Anything that appears on the projector screen - slides or code - will be posted on the schedule page soon after class, so you don't need to copy down all of that material in your notes.) If you do use a laptop or other device to take notes, you are encouraged to turn off notifications and close other applications to reduce the temptation of those distractions. There is a steady workload throughout the course, and foundational topics introduced earlier are used and built on later in the course. Review each day's material soon after class and start on assignments early, and seek help promptly if you are stuck on something or want to discuss ideas. Letting a point of confusion slide often snowballs, and it is easy to find yourself falling behind. Your first resource if you need help with any aspect of the course material should be the instructor - ask questions during class and lab, stop by office hours, send email, or drop by or schedule a meeting. Teaching Fellows are also a valuable resource for help on assignments. You are also encouraged to check out the Center for Teaching and Learning (CTL):
|
Accommodations |
If you are a student with a disability for which you may need accommodations and are new to our office, you should self-identify for services by scheduling a Welcome meeting (link to do so is on the top right of our webpage) with Disability Services at the Center for Teaching and Learning (CTL). Disability related accommodations and services will be provided when the registration and documentation process is complete. The guidelines for documenting disabilities can be found at the following website: http://www.hws.edu/academics/ctl/disability_services.aspx Returning students may request their accommodation letter by emailing the request to the CTL@hws.edu or by using the link on the top right of our webpage to schedule a meeting should you feel one is necessary. Please direct questions about this process or Disability Services at HWS to ctl@hws.edu or x3351. Jamie Slusser, Disability Services Administrator & Accommodation Specialist and Christen Davis, Associate Director of CTL for Disability Services are the main contact staff for Disability Services. |