CPSC 329 | Software Development | Fall 2022 |
You are expected to be familiar with the course policies stated below. Ignorance of a policy is not an excuse for violating a policy or being surprised when it is applied to you, and will not exempt you from its penalties.
On this page:
Communication |
All course information, materials, and announcements will be posted on the course webpage and/or Canvas. You are expected to check Canvas and the schedule page regularly. Individual communication will take place via email. You are expected to check your HWS email account regularly. |
---|---|
Conduct |
As with any course, you are expected to be on time and prepared to engage in the day's activities. Lab sessions in particular will often involve group activities, and being late or unprepared impacts others as well as yourself. During class and lab, you are expected to be present and on task for the whole period - web surfing, texting, playing games, doing assignments for other courses, etc are not acceptable, nor is leaving during the session (absent an emergency). (Take care of any necessary business before or after class/lab!) If you bring a laptop to class for the purposes of note-taking, it is recommended that you turn off email and other notifications and close applications that are not needed in order to reduce the temptation of those distractions. |
Technology Failures |
This course makes use of servers set up specifically for this course, as well as the math/CS department webserver (math.hws.edu) and campus resources including Canvas and the Rosenberg 009 and Lansing 310 labs. If you run into a problem with a system that doesn't seem to be working as it should, please let me know. You should regularly back up your work to protect against computer failures. This is automatically done nightly for the department's Linux filesystem; see the "Emergencies" section of Using Linux at HWS for more information. In addition, committing files to the SVN repository acts as a form of backup since they can be later retrieved from the repository. Any other course-related files on a personal computer can be backed up by periodically copying them to your CS account. See the "SSH, SCP, SFTP" section of Using Linux at HWS for more information. Note that you should only do this for course-related work! |
Assignments and Evaluation |
Software development requires doing to master, and students should expect to spend a significant amount of time outside of class. Daily Lessons: For most class and some lab sessions you will be expected to complete a lesson beforehand involving readings and/or videos and some questions about the material to help you self-assess what concepts you understand, learn what you don't, and identify where you have further questions. As the goal of these "quizzes" is self-assessment, grading is based on completeness (did you answer the questions?) rather than correctness. Labs: Labs are an opportunity for hands-on practice with software and concepts and will typically be completed in pairs. (Note that you are still responsible for all of the material covered by the lab - unless otherwise directed, you should employ pair programming rather than dividing up the task and working independently.) Labs are intended to be short enough that most, if not all, of the lab can be completed during the lab period if you come to lab prepared and work diligently. (Anything not completed during lab will need to be finished outside of class.) Projects: This is a course about software development, so programming projects are an important component of the course. There will be five projects:
Skills Checks: Each of the team projects will be followed by an individual assignment covering the main technical content of that project (GUIs, client-server networking and threads, object-oriented analysis and design; for the final project, the focus will be on coding practices). These may involve programming tasks and/or written questions and will be graded as an individual component of the corresponding project. Final Reflection: There will be a final written reflection at the end of the course. There will not be an additional final exam; the skills check associated with the final project and the written reflection take the place of a final exam. Engagement: Learning isn't a passive activity where you sit back and watch someone else do things; you need to work with the material by thinking about it, trying to apply it, asking questions about it, and so forth. Teamwork is also an important element of this course, and successful teamwork requires everyone's contributions. The engagement grade covers participation in group activities in class and working successfully in a team on labs and project. Grades: Grades in this course will be computed as follows:
Extra credit options may be available on some projects, including the final project. However, if you are struggling with the material or are concerned about your grade, seek help right away by coming to office hours rather than relying on extra credit. |
Attendance |
You are expected to be on time for all class and lab sessions, and to be present and engaged in the course for the full period. Any absence, whatever the reason, means that you miss out on discussions and activities that take place in class. 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. In addition, announcements are made at the beginning of class, and late arrivals may miss important information. Furthermore, when group work is involved being on time, present, and contributing to the group is even more important because it impacts others besides yourself. For example, being late for a lab or project meeting wastes the whole group's time as others must wait for you or take time to catch you up later. However, while you should make every effort to attend class, lab, and scheduled project meetings, it is understood that there may be extenuating circumstances which make attending every session or meeting difficult. It is especially important that you follow current guidelines with respect to COVID, including quarantining if you test positive and/or have symptoms. If you cannot attend class or lab, please let me know as soon as possible and make sure that you check the schedule page for new assignments and materials, complete any missed readings or other tasks, 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. In the case of a project meeting, you should let your team know as soon as possible. If you miss more than three classes or lab sessions 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 as soon as possible to discuss options for helping you stay on track. |
Making Up Work, Late Policy, Extensions, and Rescheduling Exams |
Any handouts, examples, slides, and other materials from class will be posted on the course website (on the schedule page) and/or on Canvas. Announcements will be posted on Canvas. If you miss class, you should review this material as soon as possible and seek help at office hours as needed. Late handins refer to assignments being accepted for grading after the due date. In the case of a last-minute emergency that prevents an on-time handin of already-completed work. In this case, notify me as soon as possible and make arrangements to complete the handin promptly. This is not an extension of time to complete the assignment.
Extensions allow handins after the due date without penalty, whether or not late handins are allowed for the assignment. Extensions are expected to be rare, as taking more time for one thing cuts into the time available for the next, and are primarily intended for when there is an extended absence or issue that affects a significant amount of the time for an assignment. In such a case, contact me as soon as possible to discuss a timeline for completing the missing work.
No work will be accepted after the end of the Registrar-scheduled final exam time slot except in the case of an incomplete. |
Working Together and Academic Integrity |
The HWS Principle of Academic Integrity governs all of the work completed in this course. Students should read the full policy. For this course:
For all assignments, 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. Decompiling or reverse-engineering someone else's code (including provided code) is also prohibited. For team assignments, this applies to sources outside the group - team members should be sharing and fully collaborating within the group. Violations can result in anything from a warning to point deductions or a 0 on the assignment for the first offense. A second such offense is grounds for failure in the course. Cases may also be referred to the Committee on Standards. Note that the HWS Principle of Academic Integrity states:
There are no exceptions to this policy; ignorance of the policy and desperation ("It was the night before it was due and there wasn't anyone else to ask!") are specifically not excuses for violating the policy. If you are having trouble with the course material, come to the instructor! - it is never advantageous to "borrow" someone else's solution, and the time spent trying to disguise this "borrowing" is far better spent getting help. |
Being Successful |
There is a lot of new material in this course, and at any point you will potentially have several active assignments: daily lessons, a lab, and a project or skills check. Don't fall behind! It is important that you budget your time so that you can fit all of these things in and get them in on time. Dates for major assignments are on the schedule page. 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, examples, 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. A useful strategy for note-taking is to (only) make note of key ideas and examples during class and then rewrite your notes, filling in other details and relevant information, soon after class. This allows you to pay more attention during class, increases your engagement with the material, and helps you identify what you need to ask questions about. If there is something related to the course format or materials that would help you be more successful in the course, please come discuss it with me. |
Resources and Accommodations |
Your primary resources if you need help with any aspect of the course material should be the course webpages, the instructor - ask questions during class, stop by office hours, send email, or drop by or schedule a meeting - and, for team assignments, your teammates. For more general help, such as with writing, study skills, or time management, you are encouraged to check out the Center for Teaching and Learning (CTL):
Disability accommodations:
|