York University

CSE 5910: Software Foundations

Winter 2011

Department of Computer Science and Engineering


Online Forum

Weekly Calendar

Course Syllabus

Course Policies

Important Links

York University

Course Syllabus


Time:   Mondays, 10:00-13:00
Location:   S235 Schulich
Instructor:   Franck van Breugel
Office Hours:   Mondays, or by appointment


This course introduces object-oriented programming and the basic principles of software development to non-CSE students already familiar with programming.

Note: this course cannot be used to satisfy the course requirements of a Computer Science and Engineering MSc or PhD program.

Required Textbook

Hamzeh Roumani. Java By Abstraction: A Client-View Approach. Third edition, 2010. Pearson Learning Solutions.

A copy of the textbook is on reserve at the Stacie Science Library. Students can also use the second or first edition. Errata for the second and first edition can be found here and here, respectively.


11 programming exercises:   6% each
project report and code:   34%

Students may view their grades using the ePost system. All grades distributed via ePost are unofficial and are subject to review by the Department of Computer Science and Engineering. A student's final grade will be expressed as a letter grade. Conversion from numeric to letter grade is applied to the overall mark only, using the following standard:















Click here for further details on the grading schemes.


The aim of the project is to write a non-trivial application related to financial engineering. Besides the documented Java code, you are also expected to hand in a report. Guidelines for writing your report can be found here. In your report you need not include a "Programmer's Guide" section (since your code is, of course, well-documented).

Projects can either be done alone or in a group of two (groups larger than two are not allowed). Research has shown that groups of two are often ideal for programming projects like this one.

By February 18, each group is expected to email the instructor

  • a list with the names of the members of the group,
  • a description of the project (you are suggested to provide a number of milestones ranging from objectives that are easily accomplishable to more challenging objectives), and
  • a list of Java packages to be used in the project, including the URL where the package can be found.

Some packages can be found here.

The project is due on April 15. Email the instructor

  • your report,
  • your application, and
  • the Java code you used to test your application.

A sample of a project proposal and a sample of a project report have been posted. These are samples. They are not perfect, but are of very good quality.