|
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). (3:0:2) 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,
- email: David.Wessels@viu.ca
Office hours (in room 222, building 315):
- Wed 1-2:30pm
- Fri 11:30-1
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 210 room 275):
- Mon/Wed 11:30-1
Lab (building 315 room 102):
- Fri 9:30-11: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: VIULearn will primarily be used for course announcements.
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%
Midterm: 20% (in lecture, Monday March 2)
Final exam: 50% (time/location TBA, scheduled as part of the VIU final exam system)
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.
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.
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 |
Resources
A wide range of other supporting resources are provided by the institution, including:
Accessibility
Vancouver Island University recognizes its legal duty to provide educational opportunities
that enable students with a documented disability to access courses, programs, facilities,
and services.
The Policy and Procedural Guidelines apply to all students who have identified themselves to the institution as having a documented disability who are inquiring about, applying to, or registered in credit or non-credit courses in both on and off-campus programs.
Academic Integrity
Integrity in academic work is a central element of learning and is the basis of intellectual
pursuits in any academic community. It is also your responsibility to abide by the Student
Conduct Code and Student Academic Code of Conduct
Links to University Policies, Standards, and Guidelines
Below are links to many of the official VIU policies, procedures, and guidelines.