CSCI 160: Computing Science I

Term Fall 2019
Course Website Sarah's CSCI160 Page
VIU Learn (login required)
Instructor Sarah Carruthers
Email: sarah.carruthers at viu.ca
Office: 315/217
Office Hours: M: 14:00-14:30, T: 10:30-11:00

Lecture Schedule
 T, Th 11:30 - 12:50, M 16:00-16:50  
Laboratory Schedule Labs begin the first week of class. Please attend the lab you have registered for. Attendance is mandatory. Lab times and locations are available from the timetable.

Course Overview A first course in computer science. Topics include structured programming, top-down program design, procedures, recursion, and an introduction to dynamic data structures. (4:0:1)

Prerequisite: Principles of Math 12 or Pre-calculus 12.

Topics Topics will include:
  • Software, systems, and development
  • C++ structure, syntax, and standards
  • Basic data handling: variables, types, constants, literals, scope, operators and precedence
  • Input and output
  • Functions (calling, defining, parameters, return values, reference parameters, recursion)
  • Selection (if, else, switch)
  • Iteration (while, for, do-while)
  • Algorithms, abstract data types, modularity, and design
  • Arrays (declaration and use, basic sorting and searching)
  • Structs (definitions and use)
  • Pointers (definitions, uses, dynamic allocation)
  • Dynamic data structures: linked lists
Lectures and Participation CSCI 160 is a challenging course for many students, and success depends on students' ability to engage actively with the material. This course offers students many opportunities to get hands-on experience and practice, including:
  • Labs
  • In-class activities
  • In-class quizzes (for practice and not for marks)
  • Online quizzes
  • Individual Assignment
  • Self-reflections
In class, the instructor will cover theory, and then provide activities, work through examples, and do coding demonstrations. These demos will usually be found on the course page and are valuable resources for students. It is strongly recommended that students make the most of this chance to learn by doing and by watching the instructor write and run code.
Graduate Attributes In this course, students will have the opportunity to develop and work on the following Graduate Attributes:

Literacies Intellectual and Practical Skills Civic Engagement
  • Reading
  • Writing
  • Information Literacies
  • Scientific Literacies
  • Technological Literacies
  • Disciplinary Expertise
  • Critical Thinking
  • Creative Thinking
  • Inquiry and Ways of Knowing
  • Safe and Ethical Practices
  • Collaboration
  • Active Learning
  • Capacity to Engage in Respectful Relationships
  • Foundations for Lifelong Learning
  • Ethical Reasoning
  • Integrative Learning

(Mouse-over each attribute for details)

Course Schedule This course will consist of 12 modules with each module about one week in duration. Modules in this course are highly accumulative, and success in one is nearly always required for success in subsequent modules. Labs are designed to support student learning in these modules, but it is recommended that students further support their learning by making use of additional resources like: tutors, office hours, and online tutorials.
  1. Introduction to programming
  2. C++ Syntax
  3. Functions
  4. Control statements
  5. Recursion
  6. Loops
  7. Arrays
  8. Char arrays
  9. Advanced Arrays
  10. Structs
  11. Memory and dynamic data types
  12. Intro to Linked lists
A detailed schedule is available on VIU Learn.

Textbooks In this course we will make use of a number of online and open source resources, including:
Grading
Coursework Weight Notes
Quizzes 15% Online quizzes will be available on VIU Learn.
Labs 25% Must pass labs overall to pass the course (>=50%)
Assignment(s) 10% See below for details.
Exams 50% Midterm 14% (+1% for exam wrapper completion),
Final 35%
Must pass the final exam to pass the course (>=50%)
Assignment Students will be given an individual assignment after the midpoint in the course in which they can showcase what they've learned and have a chance to challenge themselves. Examples of past assignments include:
  • Tic Tac Toe, Doh! (a twisted variation on Tic Tac Toe)
  • Dance Dance Revolution (on the command line?)
  • Conway's Game of Life
Labs

Students must enrol in, and attend, weekly lab sessions.

In these sessions we will work on applying the concepts covered in the lectures. To receive marks, students will be required to submit using git:

  • Pre Lab Worksheet
  • Take-home Coding portion
  • Reflection

Each lab will include a pre-lab worksheet that must be completed before starting the lab. This worksheet will be brought to lab and self-assessed at the start of the lab. It must be submitted along with the code submission and the reflection, using git.

Labs will consist of a portion that is done together in the lab, and a portion that students will be required to complete on their own and submit using git, for marks.

In order to pass the course, students must have a passing mark overall on the lab portion, and submit all lab assignments.

Quizzes Because this course is challenging for many students, each module will include a short online quiz, designed to help students and the instructor track progress on the material. Students are encouraged to use these quizzes to help them gauge their progress and adjust study habits as needed.

Quizzes can be done at home and have no time limit (although there is a due date/time). Students are permitted, and encouraged, to use course materials to help them succeed at these quizzes. This includes:

  • Lecture slides
  • Lecture notes
  • Lab materials
  • Texts
  • Online resources
  • Writing test C++ programs
Exams

A midterm exam will be held in class. Date tbd.

Students will be required to complete an exam wrapper after the exam is returned, to help them reflect upon, and adjust their study habits

There will be one midterm and one final exam.

The final exam will be scheduled by the University. All students must pass (50% or greater) the final to pass the course.

Grading Scheme 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.

F D C- C C+ B- B B+ A- A A+
0-49 50-54 55-59 60-63 64-67 68-71 72-75 76-79 80-84 85-89 90-100

Course Policies And Guidelines Late Assignments: Late assignments will be penalized 20% per day unless previously approved by the course instructor. Personal extensions will be granted only in extenuating circumstances (e.g. illness).

Lab participation: Lab attendance is required.

Coursework Mark Appeals: All marks must be appealed within 7 days of the mark being posted.

Attendance: I expect students to attend all lectures and labs. It is entirely the students' responsibility to recover any information or announcements presented in lectures from which they were absent.

Electronic devices in labs and lectures: No unauthorized audio or video recording of lectures is permitted.

Electronic devices in midterms and exams: No electronic devices (e.g. cell phones, pagers, PDA, etc.) may be used during examinations or tests unless explicitly authorized.

Plagiarism: These guidelines concern the type of fraud where a student presents another's work as his or her own, or allows another to do so.

  • As fraud invalidates the evaluation of a student's progress, it is the duty of instructors, teaching assistants, and laboratory assistants to take measures to prevent fraud and to be vigilant towards symptoms of fraud.
  • Students are encouraged to study together. But, unless the contrary is indicated, submitted work is to be done by students individually. Students are to collaborate on submitted work only when this is explicitly permitted by the instructor. In such a case, the names of all students who have collaborated on a piece of submitted work should be indicated on all submitted material. The collaboration is to involve reasonable effort on the part of all students involved. In a situation where this is clearly not the case, appropriate action will be taken with regard to those students who have not fully contributed to the collaborative effort.
  • As in all academic endeavour, due credit must be given to all reference material. Students should consult the course instructor if they are not certain which outside material is appropriate for use in a course.
  • In cases where fraud is detected, credit is withheld from the work affected. The students involved are reported to the department chair who may take additional disciplinary action commensurate with the severity of the fraud and the past records of the students.