Introduction to Computing Science and Programming I
Length of Course: 14 weeks
Classroom Hours per Week: 4 hours lecture, 1 hour lab
Corequisites: Pre Calculus 12 or a university mathematics course, English 097
How to Think Like a Computer Scientist - Learning with Python, Allen Downey, Jeffrey Elkner, Chris Meyers, Green Tea Press,
CMPT 120 Study Guide, Greg Baker, SFU, 2010:http://www.cs.sfu.ca/CC/120/ggbaker/guide/guide
Python Programming for the Absolute Beginner, 3rd Edition, Michael Dawson, Course Technology PTR, 2010
Invitation to Computer Science, Third Edition: Java Version, G. Michael Schneider and Judith Gersting , Course Technology, 2006
This course is an introduction to computing science and program design, suitable for students with little or no programming background. Students will learn fundamental concepts and terminology of computing science, acquire introductory skills for programming in a high-level language, and be introduced to the diverse fields and applications of computing science.
- Computer system introduction
- Learn how to convert integers to binary and vice versa.
- Learn and practice how to use two’s complement notation for representing negative integers.
- Practice using the interactive Python interpreter.
- Learn and practice how to use basic data types.
- Learn how to declare variables.
- Learn and practice how to use assignment statements.
- Operators and order of operations
- Learn and practice how to use library modules.
- Learn and practice how to write functions
- Type conversion and type coercion
- Parameters and arguments
- Variable scope
- Learn and practice how to write pseudocode for Python functions.
- Learn how to use if - else statements.
- Nested if statements
- Recursion and recursive functions
- Learn how to design and use functions that return numbers or strings.
- Learn how to design and use loops.
- Compare for loop and while loop
- Learn and practice how to use Boolean expressions.
- Nested loop
- Compound data type
- String slicing and string comparison
- Looping and counting with string
- List introduced
- List slicing
- String and list comparison
- Mutability of string and list
- Mutability of tuple
- Tuples and list comparison
- Dictionaries used in sparse matrices
- Mid-term review
- See more examples and exercises.
- Learn and practice how to read text files
- Write to text files
- Learn and practice how to use throw and catch exceptions.
- Learn and practice how to design and use basic searching and sorting algorithms.
- Use O-notation to describe the running time of simple algorithms.
- Classes and objects introduced
- Object-oriented programming features
- Class attributes
- __str__ method and initialization method
- Method overloading
- Card game analysis
- Data structure
- Linked lists
- Lists and recursion
- Lists as collection
- Abstract data types
- Stack ADT
- Implement stacks with Python lists
- Queue ADT
- Improved linked queue
- Overall course review.
- More practice exercises and exam preparation.
Python can be downloaded from official web site: http://www.python.org/download/
Ken Chan, B.Sc. (Simon Fraser), M.S.E.E. (Wayne)
William Cheng, B.Sc., M.Sc. (Cal. State)
Yvonne Yang, B.Sc. (Hunan), Ph.D. (Paris)