CPSC 221: Basic Algorithms and Data Structures
2015 Winter Term 2
Administration


Home Learning Goals Schedule Administration Readings Lab/Lecture Notes Assignments Computing UBC Connect

Description: Design and analysis of basic algorithms and data structures; algorithm analysis methods, searching and sorting algorithms, basic data structures, graphs and concurrency.

For information on prerquisites, corequisites, and the like, please see the UBC calendar entry for CPSC 221.

Texts: See the Readings webpage.

Office hours: See the Schedule webpage.

Note: Office hours are your time. You needn't make an appointment or wait outside the door. Come right in and take part! (If you want to meet privately with one of us, however, please let us know.)

Labs:

Labs are required and marked. Lab write_ups may contain a Pre-Lab section, which must be completed before the lab session. You may also work on labs at home, get help during scheduled Office Hours, or post questions on the course discussion boards. You should aim to finish your work and get it marked within the 2 hour session. However, if necessary, you may continue to work on it over the following week, as long as you have it completed no later than the beginning of your next lab session.

Getting your work marked if you are absent: If you must miss your regular Lab session, you may request to be rescheduled into another lab section for the same week as the lab you miss. Email your request to the Master Lab TA Coulter Beeson at r7n8@ugrad.cs.ubc.ca in advance, or if the absence is unexpected, within 24 hours of the missed session. Be sure to include your official name, student ID number, your normal lab section, reason for absence, and a list of possible alternate lab sections you could possibly attend.)
Getting help with the current lab: You can get help with your work on the current lab at Office Hours, or by posting questions on the course discussion boards. (See the course Calendar at Schedule to determine what Office Hours are being held before your next lab session.)

Labs will introduce C++; however, as 2nd year students, much of the responsibility of learning the new language will fall on you. If you need C++ programming resources, check the textbook section of the website and make use the course discussion boards.

Evaluation:

Your final course mark will be based roughly on the following breakdown. The staff reserves the right to change this scheme (but do not anticipate using that right).

Labs 10%
Theory Assns/Quizzes15% (all equally weighted)
Programming Projects15% (all equally weighted)
Midterm Exam20%
Final Exam40%

To pass the course, you must obtain a 50% overall mark and, in addition, you must pass the final exam. Students who fail the final exam will receive as their course grade the minimum of their normally computed grade and 45%.

Approximate Topic Schedule:

See Readings on the Schedule webpage.

Communication:

Most electronic communication should go to Piazza. (You are expected to read the Announcements daily!)

Personal questions or those that might violate academic conduct standards if posted should go to your Instructor or to the individual staff member you wish to contact (see the home page for email addresses).

Assignments:

There will be roughly three programming projects and three written assignments during the term.

Exams: There will be one midterm and one final exam.

Academic Conduct:

Collaboration enhances the learning experience. We encourage collaboration in various ways throughout the course, subject to the rules stated here:

Violation of any of these rules constitutes academic misconduct and is subject to penalties ranging from a grade of zero on a particular assessment to expulsion from the University with a notation on your transcript. If you are uncertain as to what is or is not reasonable collaboration, please contact the instructor. If you are having problems understanding or keeping up with the material, please contact your instructor or TA to discuss how we can fix the problem. Don't cheat!

 

cs221@ugrad.cs.ubc.ca
Last Modified: Sun 22 Feb, 2015