Uploaded by vldodge747

CMPT 116-01 Syllabus Fall 2019

Department of Computer Science
176 Thorvaldson Building
110 Science Place Saskatoon, SK S7N 5C9 Canada
Telephone: (306) 966-4886 Facsimile: (306) 966-4884
CMPT 116-01
Fall 2019-2020
Catalogue Description:
Introduces basic concepts of computer science through the study of traditional elementary
programming, object-oriented programming, debugging, design of objects, and standard
algorithms with their analysis.
[Programming will be done in Eclipse’ C++ development environment.
Prerequisite(s): Mathematics B30 or Foundations of Mathematics 30 or Pre- Calculus 30.
Classes (Lectures) and Lab/Tutorial
• Lectures – MWF 12:30 PM – 1:20 PM, Arts 263
• Labs/Tutorials:
• Sessions start the week of September 9.
Lab 01 Tuesdays @ 8:30 – 10:00 AM, Spinks 320
Lab 03 Tuesdays @ 1:00 – 2:30 PM, Spinks 320
Lab 05 Wednesdays @ 5:30 – 7:00 PM, Spinks 320
• Drop-in Help Desk:
• In addition to labs, your lab staff (teaching assistants/TAs) will also spend two
(2) 2-hour sessions weekly answering questions about assignments and helping
you debug your programs.
• These sessions will be in the main (central) computer lab on the 3rd floor Spinks
Building. Look for your lab assistants.
• Times will be announced during first week of classes.
Note. Many TAs for other CMPT courses hold office hours in the open lab. Even if
you see a TA in the lab who is not your TA, don't hesitate to ask them for help.
The University of Saskatchewan's main campus is situated on Treaty 6 Territory and the
Homeland of the Métis. We pay our respect to the First Nations and Métis ancestors of this place
and reaffirm our relationship with one another.
Instructor Information
Instructor: Ed Pokraka
Email: ed.pokraka@usask.ca
Phone: 306-370-4999
Office Hours Spinks 421
Monday’s 3:00 – 4:00 PM
Friday’s 2:30 – 3:30
Other times by appointment
Class Website: Blackboard (PAWS Course Tools)
Online Discussion Forum:
Students are encouraged to use the on-line discussion forum in Blackboard
CMPT 116-01 Syllabus
September 3, 2019
Page 1 of 9
Department of Computer Science
176 Thorvaldson Building
110 Science Place Saskatoon, SK S7N 5C9 Canada
Telephone: (306) 966-4886 Facsimile: (306) 966-4884
CMPT 116-01
Fall 2019-2020
Who Is This Course Intended For? Course Restrictions:
Course is intended primarily for students in Electrical Engineering and Engineering Physics.
Students who receive good marks in this course will be permitted to take CMPT 145 (a course
required for a CMPT major). For more information, contact the Computer Science department.
While this course can count as credit toward programs in Arts & Science and other Colleges,
students from those colleges should talk to the instructor before taking this course.
Students who have credit for CMPT 111 or CMPT 113 may not receive credit for CMPT
116. Contact the Computer Science if you have questions.
Course Overview
Course contents will be presented in lectures. Lab/Tutorial times will provide opportunity to
put materials taught in lectures into practice on a computer under the guidance of a teaching
assistant. There will be 5-6 assignments and about 9 sets of Codelab exercises. There will also
be one midterm exam and one final exam. Additional information about each of these
components can be found in the sections below.
Course Objectives
After completing this course, students will be expected to:
• Read and write simple algorithms using pseudo-code and flowcharts.
• Design and implement simple C programs from scratch.
• Test and debug simple C programs.
• Translate a simple pseudo-code or C program into a flowchart.
• Employ conditionals and loops in simple C programs.
• Employ variables, arrays and records in simple C programs.
• Define and call C functions in C programs.
• Design and implement simple recursive functions in C.
• Trace through the execution of simple C programs by hand.
• Compare linear search and binary search in terms of runtime and memory costs.
• Compare bubble sort, insertion sort, and selection sort in terms of runtime and memory
• Perform simple arithmetic on binary numbers.
• Convert integer numbers between binary and decimal representation
• Describe 2’s compliment notation for representing numeric quantities in binary
Classes (Lectures)
Students are expected to read assigned chapters within the textbook (and other sources) prior
to class (approximately 1 - 2 chapters per week). Chapters are short so reading times will not
be long.
Class (lecture) time will be spent on discussion, questions, problem solving and developing
programs relating to the assigned class readings. The textbook content will not be reviewed
(“read”) in a class.
There will be about 6 assignments - assigned at roughly weekly intervals with about a week to
complete each assignment.
CMPT 116-01 Syllabus
September 3, 2019
Page 2 of 9
Department of Computer Science
176 Thorvaldson Building
110 Science Place Saskatoon, SK S7N 5C9 Canada
Telephone: (306) 966-4886 Facsimile: (306) 966-4884
CMPT 116-01
Fall 2019-2020
Lab/Tutorials Sessions
• Primary purpose of these sessions is to enable you to ask questions about assignments and
obtain assistance debugging your programs.
• Sessions may also provide additional information related to course topics.
• Sessions will be in Spinks 320 beginning the week of September 9. See Classes (Lectures)
and Lab/Tutorial, above, for times.
Laboratory sessions will be guided by teaching assistants; contact information for the teaching
assistants will be made available on the course webpage on Blackboard (PAWS Course Tools).
Codelab consists of 9 “labs” (about 250 short exercises) designed to help you learn various
aspects of the C++ programming language. About 20 – 40 questions will be assigned weekly.
The questions are presented and answered online. You have an unlimited number of attempts
to get the correct answer (Codelab provides hints after each attempt).
Completion of the Codelab exercises contributes toward the final mark.
CodeLab is provided by an external company (Turingscraft) that is not affiliated with the
University of Saskatchewan. You are required to purchase access to CodeLab. The procedure
for registering for CodeLab will be posted on the course website on Blackboard (PAWS
Course Tools).
Registration for CodeLab is $25 US; payment must be made via a credit card. This registration
is NON-REFUNDABLE, so only register if you are sure you will not be withdrawing from
CMPT 116. If you do not have a credit card with which to purchase access, then you can
purchase a pre-loaded credit card purchased from most grocery stores. We suggest purchasing
a $50 card if you have to use a prepaid credit card. Note: The balance on a prepaid credit card
can be used at most stores to partially pay for something; for example, if you have $4.21 left
on a prepaid credit card, and buy something for $10 then you can use the card to pay for $4.21,
and then pay the remainder by cash/debit/etc.
Your lab assistants (TAs) and instructors can help you with C++ exercises within Codelab.
While lab assistants (TAs) and instructors will try to help you with Codelab account problems
(e.g., I paid but cannot access my account), you may have to contact Turingscraft directly to
resolve those problems (Turingscraft is an external company not affiliated with the U of S).
Student Computer Lab
A large open-access lab (on the 3rd floor of Spinks) is available for student use.
Students are highly encouraged to work in the Spinks labs instead of at home. TAs hold
regular office hours in the Spinks labs, and are there to provide one-on-one consultations as
you work on assignments and exercises. You won’t find a more helpful instructional team
When you are unable to work in the lab physically, you can access the lab facility remotely
from your personal computer (either from elsewhere on campus or from home). Instructions
for doing so are provided on the course website (Blackboard – PAWS Course Tools).
While you can install and use Eclipse C++ on your personal computer, we recommend you use
the Department of Computer Science’s computer lab facility. Since every personal computer is
CMPT 116-01 Syllabus
September 3, 2019
Page 3 of 9
CMPT 116-01
Fall 2019-2020
Department of Computer Science
176 Thorvaldson Building
110 Science Place Saskatoon, SK S7N 5C9 Canada
Telephone: (306) 966-4886 Facsimile: (306) 966-4884
configured differently, installing and maintaining Eclipse C++ on your personal computer may
be troublesome. While some instructions for installing Eclipse C++ on your personal computer
will be posted on Blackboard, lab assistants and instructors may not be able to offer much
assistance if you encounter problems (in other words, try at your own risk).
Note. The course markers will use the Eclipse C++ development environment to
test/mark your assignments. If your program does not operate within this environment,
your assignment will be given a mark of zero (0). This may happen if Eclipse C++ is not
installed correctly on your computer or if you are using a C++ development environment
different than Eclipse.
Textbook and Other Course Materials
The textbook, Introduction to Computer Science and Programming (Course Readings for
CMPT 111 and CMPT 116), Daniel Neilson and Michael Horsch, was developed by faculty at
the Computer Science department (University of Saskatchewan) and will be available online
(Blackboard) at no charge to students.
You will be assigned readings from the textbook and other sources to complete prior to class.
Class (lecture) time will be spent on discussion, questions, problem solving and programming
relating to the assigned reading(s) for a given class. Textbook content will not be reviewed
(“read”) in a class.
The course website will also contain links to other reference/tutorial information relating to
programming using Eclipse (C++) – again, at no direct cost to students.
While not required for class, some students may want to purchase a C++ book. Any
beginning/mid-level C++ book is acceptable. The bookstore has several copies of C++ for
Everyone 2nd Edition, Cay Horstmann, Wiley 2011. ISBN: 978-0-470-92713-7
Student Evaluation
Grading Scheme
Assignments (approx. 5-6)
CodeLab (approx. 9 online labs)
Midterm Exam
Final Exam
In-class Quizzes
Criteria that must be met to Pass
Students must be properly registered in order to attend lectures and receive credit for this
For exams, students will be expected to know information in the textbook and other assigned
readings, discussed during lectures and labs, and, presented via Blackboard and email.
In the case where a student has a passing percentile grade calculated, as outlined above, but
obtained less than 50% on the weighted combination of the Midterm and Final Exam grades
(i.e. less than 25 of the 50 possible percentage points for exams), the student will receive a
final grade no higher than 55%. In other words, if you do really well on the assignments, but
CMPT 116-01 Syllabus
September 3, 2019
Page 4 of 9
Department of Computer Science
176 Thorvaldson Building
110 Science Place Saskatoon, SK S7N 5C9 Canada
Telephone: (306) 966-4886 Facsimile: (306) 966-4884
CMPT 116-01
Fall 2019-2020
bomb the two exams, you can still pass the course, but probably only with a 55% no matter
what the grading scheme says.
Students must write the final exam. A student who does not write the final exam will receive a
grade of at most 49 in the course.
University regulations concerning grading and examinations are at
Attendance Expectations
Attend every class, ask questions and participate actively.
Students who miss a class:
• will not be able to complete in-class quizzes and thus will lose the marks that the quizz
contributes toward the final grade.
Note, students will be able to miss 10% of the quizzes without penalty.
• are responsible for acquiring the material covered in the missed class.
Note. Some topics covered in class may not have corresponding notes on Blackboard
(PAWS Course Tools). Students are expected to make their own notes in these cases.
Students who miss a class in which such topics are covered are responsible for obtaining
notes from other students.
Attend all lab/tutorial sessions. Students who miss a session:
• are responsible for acquiring the material covered in that session.
Remember these sessions are opportunities to practice the course material with the
guidance of a teaching assistant.
Midterm Exam
The midterm exam is scheduled for Monday Oct. 28th. Room to be announced.
Exam will be 50 minutes long and will be written during the normal class time on that day.
Students should take extra care to attend class on this day.
If a student is unable to write the mid-term exam through no fault of his or her own for medical
or other valid reasons, documentation must be provided and an opportunity to write the missed
exam may be given.
Final Exam (3 hours in duration)
Final examinations may be scheduled at any time during the final examination period
(determined by the registrar’s office):
• Saturday, December 7, 2019 to Saturday, December 23, 2019.
You must write the final examination on the date and in the location scheduled. Students must
avoid making prior travel, employment, or other commitments during this period until your
exam schedule is posted.
If you miss a final exam, you have three days to contact your College, along with the
appropriate documentation outlining the reason for your absence, and to request
a deferred exam.
CMPT 116-01 Syllabus
September 3, 2019
Page 5 of 9
Department of Computer Science
176 Thorvaldson Building
110 Science Place Saskatoon, SK S7N 5C9 Canada
Telephone: (306) 966-4886 Facsimile: (306) 966-4884
CMPT 116-01
Fall 2019-2020
Students are encouraged to review all examination policies and procedures:
Recording of Lectures
Video or audio recording of lectures is not allowed, except with explicit permission of the
Late Assignments
Late assignments or Codelab exercises will only be accepted under exceptional circumstances
by the permission of the instructor. Otherwise, late assignments will be graded as a zero .
Contact your instructor if you need an extension to complete an assignment or Codelab
exercise. Indicate the reason for the extension.
Missed Assignments
Students are expected to attempt (and hopefully complete!) all assignments, and all Codelab
exercises. It’s better to submit partially completed assignments than to submit nothing at all. A
missed assignment will receive a score of zero.
If you miss an assignment for medical or compassionate reasons, contact your instructor as
soon as possible.
Missed Examinations
1. The mid-term exam date is known at start of term (see above). Students should make the
necessary plans to attend class on that date.
2. Students must avoid making prior travel, employment, or other commitments during the
final exam period (see above) until your final exam schedule is posted.
3. Students who miss a mid-term exam should contact the instructor as soon as possible. If it
is known in advance that the exam will be missed, the instructor should be contacted
before the exam.
4. A student who is absent from a final examination due to medical, compassionate, or other
valid reasons, may apply to their College for a deferred exam. Application must be
made within three business days of the missed examination and be accompanied by
supporting documents. Check with your college for details to avoid problems.
Incomplete Course Work and Final Grades
“When a student has not completed the required course work, which includes any assignment
or examination including the final examination, by the time of submission of the final grades,
they may be granted an extension to permit completion of an assignment, or granted a
deferred examination in the case of absence from a final examination.
Extensions past the final examination date for the completion of assignments must be approved
by the instructor and Department Head (or Dean in non-departmentalized Colleges), and may
exceed thirty days only in unusual circumstances. The student must apply to the instructor for
such an extension and furnish satisfactory reasons for the deficiency. Deferred final
examinations are granted as per College policy.
In the interim, the instructor will submit a computed percentile grade for the class which
CMPT 116-01 Syllabus
September 3, 2019
Page 6 of 9
Department of Computer Science
176 Thorvaldson Building
110 Science Place Saskatoon, SK S7N 5C9 Canada
Telephone: (306) 966-4886 Facsimile: (306) 966-4884
CMPT 116-01
Fall 2019-2020
factors in the incomplete coursework as a zero, along with a grade comment of INF
(Incomplete Failure) as a failing grade.
In the case where the student has a passing percentile grade but the instructor has
indicated in the course outline that failure to complete the required coursework will
result in failure in the course, a final grade of 49% will be submitted along with a grade
comment of INF (Incomplete Failure).
If an extension is granted and the required assignment is submitted within the allotted time, or
if a deferred examination is granted and written in the case of absence from the final
examination, the instructor will submit a revised assigned final percentage grade. The grade
change will replace the previous grade and any grade comment of INF (Incomplete Failure)
will be removed.
A student can pass a course on the basis of work completed in the course provided that any
incomplete course work has not been deemed mandatory by the instructor in the course outline
and/or by College regulations for achieving a passing grade.”
For policies governing examinations and grading, students are referred to the Assessment of
Students section of the University policy “Academic courses: class delivery, examinations, and
assessment of student learning” (http://policies.usask.ca/policies/academic-affairs/academiccourses.php)
Plagiarism / Academic Honesty
The University of Saskatchewan is committed to the highest standards of academic integrity
and honesty.
Academic dishonesty is a serious offence. Penalties can range from a "0" on an assignment to a
reduced mark (including failing mark) for the course to suspension or even expulsion from
the University depending on the severity of the misconduct and previous offences.
Infractions may appear on your academic record in your college on a temporary basis (e.g.,
several years) or on permanent basis on your academic transcript.
Students should also avoid any behavior that could potentially result in suspicions of cheating,
plagiarism, misrepresentation of facts and/or participation in an offence.
Plagiarism includes the submission of computer programs and other assignments that are – in
part or in whole – the work of others. In the past, plagiarism in CMPT courses has been high.
However, detecting plagiarism among computer programs is relatively easy; there are many
unique computer programs to any assignment so similar solutions are easy to detect.
Additionally, the University – including the Computer Science department, uses software to
detect plagiarism of computer programs, essays and other assignments.
Note, the student(s) that enables their computer program, essay and other assignment to be
plagiarized, and the students who plagiarized the work, are both guilty of an academic
Additional information regarding academic honesty as it relates to Computer Science can be
found at https://www.cs.usask.ca/students/current-students/academic-honesty.php
CMPT 116-01 Syllabus
September 3, 2019
Page 7 of 9
Department of Computer Science
176 Thorvaldson Building
110 Science Place Saskatoon, SK S7N 5C9 Canada
Telephone: (306) 966-4886 Facsimile: (306) 966-4884
CMPT 116-01
Fall 2019-2020
All students should also read and be familiar with the policies and procedures relating to
academic misconduct (including plagiarism), non-academic misconduct and appeals for
academic matters:
https://secretariat.usask.ca/student-conduct-appeals/non-academic-misconduct.php, and
In general, you are plagiarizing if you present words or thoughts from the web, from other
students, or from published sources as if they were your own — exceptions are proverbial
sayings or common knowledge — or if you submit without approval of the instructor any work
for which credit has previously been obtained or is being sought in another course.
In essays, avoid the perception of plagiarizing by acknowledging your sources and including
them in the list of works cited. When quoting, make sure that all words and phrases from the
source are in quotation marks. When paraphrasing, acknowledge the source of the idea but
rewrite in your own language.
Less serious instances of plagiarism may be handled by instructors; more serious offenses will
be investigated by a College committee.
Course materials are provided to you based on your registration in a class, and anything
created by your professors and instructors is their intellectual property, unless materials are
designated as open education resources. This includes exams, PowerPoint/PDF slides and
other course notes. Additionally, other copyright-protected materials created by textbook
publishers and authors may be provided to you based on license terms and educational
exceptions in the Canadian Copyright Act (see http://laws-lois.justice.gc.ca/eng/acts/C42/index.html).
Before you copy or distribute others’ copyright-protected materials, please ensure that
your use of the materials is covered under the University’s Fair Dealing Copyright
Guidelines available at https://library.usask.ca/copyright/general-information/fair-dealingguidelines.php. For example, posting others’ copyright-protected materials on the open web is
not covered under the University’s Fair Dealing Copyright Guidelines, and doing so requires
permission from the copyright holder.
For general information about copyright, please
visit https://library.usask.ca/copyright/index.php. Information about students’ rights regarding
copyright is available at https://library.usask.ca/copyright/students/rights.php. You can also
contact the University’s Copyright Coordinator at mailto:copyright.coordinator@usask.ca or
Access and Equity Services (AES – formerly Disability Services for Students)
Students who have disabilities (learning, medical, physical, or mental health) are strongly
encouraged to register with Access and Equity Services (AES) if they have not already done
so. Students who suspect they may have disabilities should contact AES for advice and
referrals. In order to access AES programs and supports, students must follow AES policy and
procedures. For more information, check https://students.usask.ca/health/centres/access-equityservices.php or contact AES at 966-7273 or at aes@usask.ca.
CMPT 116-01 Syllabus
September 3, 2019
Page 8 of 9
Department of Computer Science
176 Thorvaldson Building
110 Science Place Saskatoon, SK S7N 5C9 Canada
Telephone: (306) 966-4886 Facsimile: (306) 966-4884
CMPT 116-01
Fall 2019-2020
Students registered with AES may request alternative arrangements for mid-term and final
examinations. Students must arrange such accommodations through AES by the stated
deadlines. Instructors shall provide the examinations for students who are being
accommodated by the deadlines established by AES.
You may record lectures, but please inform the instructor if you intend to do so.
Student Supports
Student Learning Services (SLS) offers assistance to undergrad and graduate students. For
information on specific topics, please see the SLS web site
The web site https://students.usask.ca contains links to a wide range of services, programs and
other information (including policies) that will be of interest to students.
The web site https://students.usask.ca/#Studentservices outlines a variety of services available
to students.
Topic Schedule (Tentative)
Introduction (2hrs)
Administrative details
Course Overview
What is Computing?
Algorithms (4hrs)
What is an algorithm?
Pseudo-code and flowcharts
Encapsulation and abstraction
Basic data, variables and types
Compound data
C++ Fundamentals (20hrs)
Variables & Console IO
Conditional branching
While loops
One-dimensional arrays
For-loops, and do-while loops
Multi-dimensional arrays
Records and record types
Topics in Computing (5hrs)
Linear search, Binary search
Insertion sort, Selection sort, Bubble sort
Computational complexity
Binary numbers
CMPT 116-01 Syllabus
September 3, 2019
Page 9 of 9