CSCI 330: Programming Languages, Spring 2026

Course Outline

csci.viu.ca/~wesselsd/courses/csci330/outline.html

CSCI 330 (3) Programming Languages
The fundamental concepts of imperative and applicative programming languages. Topics include the description of data types, variable assignment and sharing, sequencing, iteration and recursion, parameter passing mechanisms, and type checking. (3:0:1)

Pre-requisite: Min. "C" in each of CSCI 162, CSCI 260, CSCI 261 and CSCI 265

Course motivation and overview

This course is meant to give students a broader understanding of the nature of existing programming languages, and the benefits and drawbacks associated with features and implementations of these programming languages.

We will consider the fundamental concepts of programming languages - looking at potential language constructs, and the design decisions and implications associated with each.

The course will be a mix of theory and practical application - the former to be achieved through the lectures and readings, the latter through a series of labs/tutorials and detailed technical problems to be solved in a variety of programming languages.

Contact information

Resources

Timetable

Assessment


Topics
The planned topic set for the course is shown below. The order will vary considerably, and some changes in topics may take place during the semester.


Learning outcomes
On successful completion of the coruse, the student should be able to:


Programming languages, labs
While we will discuss theoretical aspects of a range of languages, the applied portions of the course will focus heavily on common lisp, C, and C++, plus the use of lex/flex and yacc/bison (to be introduced in lab). Students will be expected to program heavily in each of these languages, applying and evaluating advanced features of each.

The lab assessment will consist of a collection of five programming exercises, each introduced in one of the lab sessions and carried out independently over the space of roughly two weeks.

Labs start in the second week.

Grade Conversion:

The standard VIU grading scale will be in use.

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

Lab and Computer Usage Rules:

See http://www.viu.ca/computerscience/resources.asp#Lab_and_Computer_Usage_Rules

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.