Note that the information presented here does not necessarily reflect the most up to date syllabus or course information. Rather this information is intended to provide a general overview of course content from previous offerings.
The purpose of this course is to broaden the student's view of software development. Topics include an scripting languages, libraries, and tools and techniques for program development and maintenance.
A theme for this course is "quality programming in the small". The idea is to teach the tools and techniques to write a quality component, whether it is a stand-alone program to do some small task, or it is to be a part of a larger project. These are fundamental principles/skills required by professional programmers.
Cmpt115 or Cmpt117, and Math 110
Dr. Tony Kusalik, Computer Science
email: kusalik@cs.usask.ca
(do not cut-and-paste this address as it has hidden, "garbage"
characters in it)
office: Thorv S424 (in the Spinks Addition)
telephone: 966-4904
The professor is typically available immediately after the class for questions, advice, etc.
The professor has combined advising time / office hour every Friday between 12:00 and 13:00. You can sign up for a reserved time slot via the system for academic advising, or you can just "drop in". Priority will be given to students who make an appointment.
The prof is available to meet students at other times. Simply send an email message and set up an appointment!
Finally, remember that, if you need help, e-mail works 24 hours a day — and you'll probably even get a response in short order! Alternatively post something to one of the class forums on moodle.
Krzysztof Voss
email: kmv633@mail.usask.ca
| Class day & time: | Tuesday and Thursday, 11:30 a.m. to 12:50 p.m. |
| Class Location: | Arts 263 |
| Class duration: | September 6 through December 4, 2012 |
| Labs start: | week of September 11th |
| Midterm Exam: |
in class, October 23, 2012 (the last day for withdrawls is November 15th) |
Note that the professor teaches another class immediately prior to this one. Hence, it will be difficult for him to be available for questions prior to class. However, he will be available immediately after class.
| Required: | Practical Guide To Linux Commands, Editors, And Shell Programming, by Sobell, 2009, ISBN: 978-0-13-136736-4.. The Library has this publication on Reserve for the class. |
| C++: The Complete Reference, 4th Edition, by Schildt, 2002, ISBN: 978-0-07-222680-5.. The Library has this publication as an E-book.. | |
| Alternatives: | UNIX: The complete reference, 2nd Ed., by Rosen, 2007, ISBN: 978-0-072-26336-7. Available as an E-Book through the UofS library web site.. |
| C/C++ programmer's reference, 3rd Ed., by Schildt, 2003, ISBN 978-0-072-22722-2. Available as an E-Book through the UofS library web site. |
| participation | 2% | |
| lab exercises | 8% | |
| assignments | 20% | |
| written midterm | 25% | (October 23, 2012) |
| final exam | 45% |
The participation grade will be based on evidence of any constructive and/or contributive involvement in the on-line discussion forums for the class.
Laboratory exercises and assignments are required (mandatory) elements of the class. Therefore, in accordance with the University's "Academic Courses Policy on course delivery, examinations & assessment of student learning" lab exercises and assignments must be completed in order to achieve a passing grade. For instance, students who skip labs or don't bother doing assignments will not pass the class no matter how well they "ace" the final exam.
The final exam is another required element of the class. Failure to write the final exam will result in failure of the course.
Students must have a combined average of at least 30% on all other class work and in-term exams to be eligible to write the final exam.
If a student does not write the midterm exam, the corresponding portion of the final grade allocation will be re-assigned to the final exam.
There will be approximately 4 assignments in the class. They will be harder and take more effort than the exercises in the Laboratory. Students will typically have 2 to 3 weeks to complete each assignment. Assignment solutions will be submitted electronically. Late submissions will be accepted, though they will be docked accordingly. The late penalty will be determined using an exponential function.
Laboratory sections and times are as follows:
| Section | Day | Time |
|---|---|---|
| T01 | Tues | 13:00-14:20 |
| T03 | Tues | 14:30-15:50 |
| T05 | Thur | 13:00-14:20 |
All tutorials are held in room S311 in the Spinks Addition of the Thorvaldson Building. Labs will start on the week of September 13.
The laboratory session is for practical experience in the application of concepts introduced in the lectures. Lab periods are 80 minutes in length. An initial portion of the lab time may be devoted to providing introductory information. The remainder of the period will be for completion of the laboratory exercise. The lab instructor will be available during this time to provide assistance as necessary.
Students are to attend one laboratory session each week. Each week's lab component is to be completed in the time period specified and a lab submission will be required at the end of the lab session (or shortly thereafter). The lab solution will be submitted electronically.
The main computation resource for this course will be the LINUX operating system as provided by the tuxworld(tuxworld.usask.ca) set of computational servers. Occasionally, it may be the case that a lab or assignment must be completed on a Mac OS X system in the Computer Science instructional laboratory. Often, students will be able to use either LINUX or Mac OS X. To this end, many of the LINUX and Mac OS X workstations in the Computer Science instructional laboratories (rooms THORV S311, S320) and open-access laboratories (rooms THORV S315, S360) can be used in completion of lab exercises and assignments. You can also access tuxworld from a computer elsewhere on campus, or off-campus.
The following is an outline of the main topics to be covered in the class
The standard University of Saskatchewan Department of Computer Science Academic Honesty Policy and the University's regulations on academic integrity apply to this course.
All assignments and laboratory exercises are to be completed on an individual basis, unless specified otherwise. For the purposes of this class, and this class only, the interpretation of what constitutes "an individual basis" is:
You may work within a group on testing strategies and criteria for the selection of test cases. However, each of you must perform the testing phase independently. Failure to perform an independent test constitutes academic dishonesty.
Each of you must compose your documentation (internal documentation, external documentation, and testing documentation) independently. Failure to compose your own documentation constitutes academic dishonesty.