CSCI 330: Programming Languages, Spring 2024

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, lab quizzes
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++. 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 programming exercises and in-lab quizzes.

Labs start January 15th.

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. If you are already registered with DAS, please provide me with your accommodation letter (David.Wessels@viu.ca).

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 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

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.

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.