CPSC 211: Introduction to Software
When you complete this course, you should be able to:
Section 101 : Kimberly Voll
Graduate Teaching Assistants
Undergraduate Teaching Assistants
Here is the lab schedule for this term.
Each lab is 2 hours long:
You must attend the lab section in which you are registered. If you wish to switch, you must register in that lab section officially and inform your TAs that you have switched.
Labs are an important part of this course. Each lab is designed to give you the opportunity to apply the concepts learned in the lectures to small but realistic projects. Labs will also provide you with the practical knowledge and skills required for the completion of your course assignments-- they are essential!
Each lab session is supervised by a teaching assistant (TA), who will explain the problem you are going to work on in that session, provide instructions for the tasks to be done, and answer questions. There will be a document on the web that will describe the activities you need to perform during each lab session. For each lab, the document will contain a "Pre-Lab" and a "During the Lab" part. You must complete the pre-lab exercises and prepare any questions you may have before you attend your lab, so you will be ready to participate in the discussions that will take place during the lab session. The mark for the labs is based mainly on participation, but your TA may also ask you questions during the lab to evaluate your progress.
You are allowed to skip one lab during the term without penalty for any reason - no documentation will be required. However, if you skip a lab, you must ensure that you complete the work on your own time as material presented in labs could appear on examinations. If you skip more than one lab, you will receive a zero on the additional labs that you miss unless there are extenuating circumstances such as significant illness, in which case a doctor's note is required.
You must pass the lab component of your final grade in order to pass the course.
Your grade in this course will be based on the following activities:
Your final mark will be calculated using the following formula:
To pass this course, you must obtain a 50% overall mark and, in addition, you must:
Students who fail the assignments or the labs or the final exam will be assigned, as final grade in the course, the minimum of 45% and the grade computed using the above formula. The instructors reserve the right to modify the course grading scheme at any time.
The assignments are designed to help you become familiar with the concepts of inheritance, basic collections, basic file I/O and some aspects of graphical user interfaces. The assignments will provide opportunities for you to explore and learn some of the advanced features of Java and use some of the data structures you learn in the course and are available in the standard Java system. They will also help you acquire some project management skills appropriate for single-person programming projects and practical skills in debugging and testing small systems.
All assignments will be submitted electronically. There will be a short document on the web which will explain the hand in procedure you should follow. Your work must be submitted by the specified due date otherwise a late penalty may be applied.
The assignments are to be done in groups of two students ( or individually for students who prefer that way). Each group is expected to create and produce their own work. Please read the section on Academic Conduct.
Note that assignments are a mandatory component of this course. You must obtain a passing average grade in the assignments in order to pass the course.
If you have been unable to complete an assignment due to illness, you must present to the instructor a note from your physician, detailing the period during which you were ill, in order not to be penalized (i.e., receive a grade of 0) for that particular course work. The instructor will then tell you the course of action to follow regarding the missed assignment.
Unless otherwise stated, the lateness policy for all assignment will be as follows:
Note. If you submit an assignment before the deadline, you will not be able to re-submit the assignment after the deadline is past. However, you may submit your assignment as many times as you like before the assignment deadline. If you have not submitted anything by the time of the deadline, you may submit your late assignment exactly once after the deadline has past. Also note that the system will close precisely 48 hours after the deadline and no further assignments will be accepted.
There will be one midterm, and a final examination. Each exam will be closed-book.
The final exam will be scheduled by the university during the December exam period. The midterm will be held on:
Do not write an examination if there is a medical factor which might significantly impair your performance. If you are unable to write the midterm due to illness, you must inform your instructor immediately and present a note from your physician as soon as possible, detailing the period during which you were ill, in order not to be penalized (i.e., receive a grade of 0). The instructor will then tell you the course of action to follow regarding the missed midterm.
If you have been or will be unable to write the final examination due to illness, you should contact the Science Undergraduate Advising office as soon as possible (within 48 hours of the exam).
The textbook material for the course is:
For further reading, you can use the following reference books:
The course material is available on the course web site: http://www.ugrad.cs.ubc.ca/~cs211, or from the CPSC 211 Matygo site found at:
The Matygo site also contains the course bulletin board and the student grades for the various course activities. To access the Matygo site you need to use your Campus Wide Login (CWL) id and password. The course home site is accessible without any password.
Please see the note on the main page re. Matygo!
The following is a tentative outline of the topics covered in the lectures and labs of this course. The order in which the topics will be presented may change.
Unless otherwise stated, all work in this course is to be done on an individual basis. Students who do not do their own work ultimately cheat themselves the most. Submitting the work of another person as your own (i.e., plagiarism) constitutes academic misconduct, as does communication with others (either as donor or recipient) in ways other than those specified by the instructor. Such actions will not be tolerated. In this course, students may collaborate on assignments by discussing algorithms with each other. After such discussion, engagement in a mind-emptying activity (such as watching episodes of Gilligan's Island) for at least an hour is required before students continue to work on their own assignment. This ensures that each student has a thorough understanding of the concepts as a result of the collaboration. Although collaboration on algorithms is allowed, the line is drawn when students start to work on code. All code must be written alone. If any part of the code is based on someone else's work, this must be acknowledged by inserting comment statements noting the beginning and end of the relevant section of code. Students should be particularly careful when hiring a tutor. It is not permitted to submit code for an assignment or lab that was written in whole or in part by a tutor. All offences will be reported to the Department of Computer Science.
As a student at UBC you should be familiar with the "Student Discipline" policies outlined in the "Academic Regulations" section of the UBC Calendar. As a Computer Science student, you are also expected to be familiar with the Computer Science Department Lab policies and responsibilities found at:
The standard UBC regulations regarding misconduct will apply to all work submitted for grading in this course. It is sincerely hoped that there will be no need to invoke this policy.
The penalties for engaging in academic misconduct at UBC are very high - even for a first offence. Don't do it!
January 2, 2010