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%
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)
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)
William Cheng, B.Sc., M.Sc. ( Cal. State)
