CSCI 161: Computer Science II, Summer 2023
Course Outline (section M23N01)
csci.viu.ca/~wesselsd/courses/csci161/outline.html

CSCI 161 (4) Computer Science II
A continuation of CSCI 159. Topics include an introduction to objects, classes, object-oriented programming techniques (encapsulation, inheritance, and polymorphism), dynamic data structures (dynamic arrays, linked lists and trees), and abstract data types (stacks, queues, and dictionaries). (4:0:1)
Prerequisite: Min "C-" in CSCI 159.

Course Overview
A first course in Computer Science. This course is intended to provide a student with an introduction to the fundamental concepts and practices of programming, problem solving skills, and software development, using C++ as our programming language. Topics include structured programming, top-down program design, procedures, and an introduction to complex data structures.

Contact Information
Lecturer: Dave Wessels,
  - phone: 753-3245 extension 2436
  - email: David.Wessels@viu.ca

Office hours (in room 222, building 315):
  - Wed/Thu 11:30-1pm
If you need to see me outside office hours, please see me before or after class or send me an email to arrange an alternate time.

Timetable
Lectures (building 315 room 216):
  - Wed/Thu 10-11:30

Labs (building 315 room 102):
  - Wed. 3:30-5:30

Course Resources
Course website: the course website is csci.viu.ca/~wesselsd/courses/csci161/
Resources available on the site include this course outline, lab specifications, notes and examples on programming in C++ in a linux environment, links to other resources on programming in C++, and a course announcements page.

VIULearn: some course material, including but not limited to announcements and quizzes, will be provided through the course pages on VIULearn.

Department servers: students will be provided with accounts on the departmental linux servers and access to the departmental git servers. These sets of servers and accounts will be used for most of the lab and project work this semester, (details and instruction will be provided in the course lab or lecture sessions).

Textbook: there is no required text, but reference will sometimes be made to various online works, either through the course web page (linked at the top of this page) or on the course VIULearn page.

Assessment
Lab exercises/assignments: 30%
Project: 10%
Quizzes: 20% (4 quizzes, 5% each, held in labs) [Fixed typo: originally said 5x4%]
Lab exam: 15% (held in the final lab of the semester)
Final exam: 25% (held in the final lecture of the semester)
Note that to use CSCI 161 as a pre-requisite for CSCI 260/265 a minimum C is required.

Detailed topics list

The planned course topics and approximate order are listed below, though some revisions to content and order may be required as the semester progresses.

  1. Course introduction and overview
  2. Tools, techniques, and processes
  3. 160 review/recap
  4. C++ features that will be new to some
  5. Data structures and algorithms
  6. Object oriented programming
  7. Abstract data type examples
  8. Additional C/C++ features

Learning Outcomes

On successful completion of the course, the student should be able to:

Labs
You must be enrolled in and attend your weekly lab session, during which you will work on applying the concepts discussed in lectures. Each lab session will involve working toward the completion of one of the lab exercises, and the course quizzes will also be held in lab. Details on lab requirements, submission processes, and late penalties will be discussed in the labs and outlined on the course website.

Computer Accounts
To work on your labs, you will be given accounts on the computer science linux servers. There will be a computer science user id and password associated with your account, this is in addition to your VIU account.

Lab and Computer Usage Rules:
See https://scitech.viu.ca/computer-science/computing-resources - Lab and Computer Usage Rules

Code and documentation quality
A significant practical component of this course is learning to adhere to good principles and practices in the development of software and its accompanying documentation. As such, students will be expected to strictly adhere to code and documentation standards that will be provided for each lab exercise. Work that fails to follow the designated standards may not be accepted for grading, and/or may be significantly penalized.

Appeals of Grades:
Any exercise or examination grade may be appealed. However, the appeal must be made to the instructor, in writing and attached to the work in question, and within 7 days of the grade being made available to the class. The instructor reserves the right to re-grade the entire piece of work submitted on appeal, not necessarily just the component that the student believes is in error.

Grade Conversion:
The following scale will be used but the instructor reserves the right to lower the numerical score required for a particular letter grade if that seems appropriate, but the same conversion will be applied to all persons in the class. Under no circumstances will the numerical score required for a particular letter grade be raised.
90-100 85-<90 80-<85 76-<80 72-<76 68-<72 64-<68 60-<64 55-<60 50-<55 <50
A+ A A- B+ B B- C+ C C- D F

VIU's Disability Access Services provides services to students with Learning Disabilities, mental health disabilities, Attention Deficit Hyperactivity Disorder, Autism, chronic medical conditions, and impairments in mobility, hearing, and vision.

If you have a disability requiring academic accommodations in this course but are not yet registered with Disability Access Services, please contact them at disabilityaccessservices@viu.ca or visit them in BLDG 200 (2nd floor). If you are already registered with DAS, please provide me with your accommodation letter, either in person during my office hours, or by email.

EDI Statement
VIU values human diversity in all its dimensions and is committed to achieving and ensuring learning and working environments that are equitable, diverse and inclusive.

Student Academic Code of Conduct (VIU policy 96.01)
All VIU students are required to familiarize themselves with, and adhere to, the Student Academic Code of Conduct

The official policies of Vancouver Island University can be viewed at www.viu.ca/policies

Note that, in accordance with those policies, academic misconduct may result in a final grade of "F", a report to the Dean and a permanent record in the student's academic file. Multiple records may result in suspension from the university.