Computer Science 470 Detailed InformationMeeting TimesLectures: Tuesday & Thursday at 11:30-12:50pm in Thorvaldson 205A InstructorsClass Instructor: Nathaniel Osgood, Thorvaldson 280.6, 966-6102, osgood@cs.usask.ca Office Hours: Tuesday 3:30 – 5pm and by appointment (Sept. 22 onwards; on Sept. 15, 4-5:30pm) Teaching Assistant: Yudi Xue (yudi.xue@usask.ca) TextsReadings from a variety of sources will be provided as PDFs on the course website. Please see the table of additional sources below. Course ContentsThis course builds on the understanding of software engineering presented in CMPT 370 and (to a lesser degree) CMPT 371. The focus is on techniques to help foster quality software engineering. The topics covered are not comprehensive, but are intended to complement those covered in undergraduate software engineering courses, particularly those at the University of Saskatchewan. Discussion will address basic software architecture and design, techniques for achieving encapsulation, modularity and abstraction of multiple types, rigorous and safe use of type and class hierarchies, the language-software engineering interface, debugging. Students who are interested in the other – and at least equally important – set of influences on the quality of software projects that extend from human dynamics, behaviour and management should consider taking or auditing CMPT 371, which focuses on discussion of those issues. All students must be properly registered in order to attend lectures and receive credit for this course. WorkloadStudents’ grades will be determined by a combination of assignments, results of an exploratory investigation into a topic in software engineering of the student’s choosing (mandatory for graduate students), the final exam (mandatory for undergraduates) and class participation. Undergraduate students interested in pursuing term projects may choose to hand in their term project as half of the final mark; graduate students who would like to balance their term project grade with other indications of mastery make take the exam for half of the term project mark. We encourage students to consider conducting term projects in pairs. The due dates and weighting for submissions are as follows:
In order to provide additional opportunity for students to develop understanding through discussion of course material, much of the course content is to be covered in selected readings. Class sessions will highlight components of this material, but students will be held responsible for reviewing and digesting all readings prior to class, and in discussing this material within class. Reflecting the importance attached to in-class discussion, a significant fraction (8%) of students’ grades will be based on class participation. In recognition of differences in communication styles and interests among students, this participation score will also reflect interaction in office hours, and discussions following class. In order to help promote timely review and marking of student project submissions, students will receive an additional 0.5 marks for term projects for each day prior to the deadline that it is submitted, up to a maximum of 10 such marks. Assignment and course marks will be assigned on an individual basis. It is acceptable for individuals to work in pairs for assignments or for the final project, but only one copy of the artifact should be handed in for both individuals (with a clear indication of the collaboration), with the other individual handling in a “stub” that indicates with whom they collaborated. A single mark will be assigned for the artifact. Any penalties resulting from shortcomings in perceived integrity or quality of the artifact (e.g. incomplete sections or plagiarism or other concerns regarding academic honesty) will apply to both collaborators. Topic Plan and ReadingsLecture slides will be provided via the course website when possible but are not guaranteed for all classes. Readings from Evans and other excerpts distributed or available electronically are shown below. Additional readings and URLs will be shown in the notes for the topic in question. A preliminary lecture schedule is included below. Please note that because of the emphasis on class discussion, the exact timing of particular lectures (and associated reading) is subject to change. Updated schedules will be distributed throughout the term.
NB: Lightly shaded items indicate discussion days; for such days, students will be expected to come prepared to spend the class discussing the prepared meeting. Items with asterixes (*) indicate readings required only for graduate students. “X:n” denotes chapter number n within the source abbreviated by X (as described by the section on readings below). “X:ppN-M” denotes page numbers N through M within the source abbreviated by X. Required and Optional ReadingsReading for the course will be drawn from a variety of sources. The schedule above uses the abbreviations shown in the first column.
Homework Submission and EvaluationAll homework will be distributed via the Moodle System. Completed assignments and other deliverables are to be submitted via email to the instructor by 12 MIDNIGHT at the close of their respective due dates (also shown in the course outline). Because feedback on the answers provided will be provided directly in the submitted file, it is important that you submit your homework in a plain text or PDF form. If you do not have access to the appropriate software, please see the instructor after class. By instructor discretion, 10% per day may be deducted from late problem sets or term project phases up to a maximum of seven days. Problem sets and term project phases received after seven days will not receive any credit. Under certain extenuating circumstances extensions may be granted. Please contact the instructor or tutor prior to the due-date if an extension is required. Failure to complete the assigned course work (including unmarked but required assignments ET2 and ET3) will result in failure of the course. Collaboration among students on problem sets or term project phases to be completed individually is limited to discussing concepts and clarifying issues. Nonetheless, each student is expected to produce his or her own solutions to the homework problems. For a further discussion, please see the section on Academic Honesty. The instructor particularly wishes to emphasize in the strongest terms the importance of properly citing and quoting sources used for class projects. Failure to do so can result in failure of the course by the student. Students are expected to adhere to University of Saskatchewan Academic Honesty policy. More information can be found at http://www.usask.ca/honesty/pdf/dishonesty_info_sheet.pdf In addition to the above, the course includes a final exam. Failure to write the final exam will also result in failure of the course. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |