Computer Science 125
Introduction to Computing Science and Programming II
Length of Course: 14 weeks
Classroom Hours per Week: 3 hours lecture, 2 hour lab
Prerequisites: Computer Science 120 and Math 100.
Text: C++ for Everyone by Cay Horstmann, Copyright © 2012 by John Wiley & Sons. ISBN 978-Q-470-92713-7
•Programming -- Principles and Practice Using C++, Bjarne Stroustrop, Addision Wesley, 2009, 9780321543721.
•Absolute C++ 5/E, Walter Savitch, Addison Wesley, 2013, 978-0-13-283071-3.
•Problem Solving with C++, Eighth Edition, Walter Savitch, Addison Wesley, 2012, 978-0-13-216273-9.
A rigorous introduction to computing science and computer programming, suitable for students who already have some backgrounds in computing science and programming. Students will learn the fundamental concepts of computing science and develop basic skills in software development. Topics include: history of computing science; review of elementary programming: data types and control structures; fundamental algorithms; abstract data types; elementary data structures; basic object-oriented programming and software design; elements of empirical and theoretical algorithmic; computability and complexity; design, specification and program correctness.
|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, Standard Template Library, Namespaces, 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 8||Arrays, Multi-dimensional Arrays, Vectors, Pointers and Dynamic Arrays, and Exception Handling.|
|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||Polymorphism, Virtual Functions, and Templates.|
|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.
Ken Chan, B.Sc. (Simon Fraser), M.S.E.E. ( Wayne)
William Cheng, B.Sc., M.Sc. ( Cal. State)