Syllabus, CPSC 331, Winter 2017

home page -  news -  syllabus -  schedule -  assignments -  tutorials -  java -  references -  Mike Jacobson


about CPSC 331 -  learning goals -  CS background -  math background -  writing background -  how to succeed -  what to avoid -  assessment

 CS Background

An Object-Oriented Programming Language

Since students in this course have successfully completed either Computer Science 219, 233, 235, or Computer Engineering 339, familiarity with the syntax of an object-oriented programming language (likely either Java or C++) will be assumed. Students completing the above courses frequently need to review or improve their understanding of the following concepts in order to succeed in CPSC 331.

Early chapters of the recommended reference “Head First Java” provide an accessible introduction to Java.

Recursion

Recursion is generally introduced briefly, either near the end of a first course in programming or near the beginning of a second. It is used heavily in CPSC 331, both because a variety of data structures and properties have recursive definitions and because a variety of algorithms are best described and most easily implemented in a recursive way.

The introduction of Chapter 4 and Section 4.1 of Introduction to Algorithms, includes information about recursion that will be used in this course.

Additional References

People learn in different ways — and a reference that one student finds to be indispensible is worthless to another. It therefore makes sense to provide multiple references for the same material if this material is important for a course.

  1. The following two Java texts have been used for our introductory programming courses. Both are freely available on-line through the library.
    • Kathy Sierra and Bert Bates
      Head First Java
      O'Reily Media, Inc.

      Good textbook for those who would like some more background material on Java. Freely available electronically through the UofC library from any UofC computer (using the link above).

      University of Calgary students can read this book online.

    • Gary Cornell and Cay Horstman
      Core Java
      Sun

      Another good textbook, more reference style than Head First Java. Freely available electronically through the UofC library from any UofC computer (using the link above).

      University of Calgary students can read this book online.

  2. The alternative data structures and algorithms references listed on the References page also introduces the Java programming language in a way that may be useful for students who used a different object-oriented programming language than Java in prerequisite courses.

  3. Additional online Java documentation and tutorials are freely available. Some students will find this to be preferable to printed material.


Last updated:
http://www.cpsc.ucalgary.ca/~jacobs/Courses/cpsc331/W17/syllabus/cs_background.html