Computer Science 125

Course Outline

Length of Course: One semester (14 weeks)
 
Classroom Hours Per Week: 3 hours lecture, 2 hour lab
 
Number of Credits: 3 credits
 
Prerequisites: Computer Science 120
 
Description of Course:
A programming course suitable for students with previous programming experience. Topics include the history of computer science, a review of elementary programming, data types and control structures, fundamental algorithms, abstract data types, elementary data structures, basic object-oriented programming and theoretical algorithmic, computability and complexity, design specification and program correctness.
 
Course Outline:
Week 1
Introduction, Course Outline, Programming Languages, Compilers, Interpreters, Java Virtual Machine.
Week 2
Variables, Assignment, Fundamental Data Types (int, double), Expressions.
Week 3
References, Object Instantiation, Class Libraries, Packages, Interaction with User, Methods.
Week 4
Introduction to Class Design, Methods, Primitive Data Types as Parameters Scope and Lifetime.
Week 5
Class Design (cont'd), Other Fundamental Data Types, Casting, Calling Static Methods.
Week 6
Flow of Control. 
Week 7
More Advanced Class Design, Static Data and Methods, Helper Methods, Refactoring
Week 8
Arrays, Multi-dimensional Arrays, ArrayList
Week 9
Recursion, Basics about Computational Complexity, Analysis of Algorithms, Searching.   
Week 10
Sorting, More Advanced Class Design, Static Data and Methods, Helper Methods.
Week 11
Interfaces, Polymorphism through interfaces, Refactoring.
Week 12
Inheritance, Abstract classes, Polymorphism.
Week 13
Simple Graphical User Interface Elements, Event-driven programming, Inner classes. 
Note: this schedule is intended to provide only a rough guide to the topics covered in this course. The ordering of topics may be changed by the instructor.
 
Evaluation:
Labs 10%
Assignments 20%
Term tests 30%
Final exam 40% 
 
Text:
Java Software Solutions, 5th Edition, John Lewis and William Loftus, Addison Wesley, 2007.
 
Transferability:
SFU: CMPT 125(3) Q/B-Sci
UBC: CPSC 1 st (3)
Note that:
Columbia College CSCI 120 & 125 transfer to CPSC 111(4) and CPSC 1 st (2)
Columbia College CSCI 101, 120 & 125 transfer to CPSC 101(4), CPSC 111(4) & CPSC 1 st (1)

UVic: CSC 110 (1.5 units)
 
Instructors:
Ken Chan, B.Sc. (Simon Fraser), M.S.E.E. ( Wayne)
William Cheng, B.Sc., M.Sc. ( Cal. State)