CSPB 1300 - Computer Science 1: Starting Computing
*Note: This course description is only applicable for the Computer Science Post-Baccalaureate program.ÌýAdditionally, students must always refer to course syllabus for the most up to date information.Ìý
- Credits: 4.0Ìý
- Prerequisites: Minimum program admission requirements.
- Minimum Passing Grade: C-
- °Õ±ð³æ³Ù²ú´Ç´Ç°ì:ÌýThis course uses an interactive online free textbook, "How To Think Like a Computer Scientist" which is embedded in the course lessons.
Brief Description of Course Content
The course covers techniques for writing computer programs in high level programming languages to solve problems of interest in a range of application domains. This class is intended for students with little to no experience with programming.Ìý
Specific Goals for the Course
By the end of this course, students should be well positioned to learn any mainstream programming language, and have a foundation for learning more advanced concepts for software engineering and computer science. In particular, students will:
- Understand how to break down hard problems into a series of sub-problems.
- Be able to use fundamental programming constructs (such as variables, conditional and iterative control structures) in Python and C++.
- Understand and be able to implement simple input and output (I/O) (e.g. interactive input from the user, or using disk storage).
- Design functions and reason about their role in programs, including an understanding of passing arguments and returning values.
- Learn the properties of data types, including primitive types like numbers and booleans, as well as complex data types like lists and dictionaries.
- Use an Integrated Development Environment (IDE) to write code.Ìý Begin to understand the art of debugging as part of software development.
- Design and create code using the fundamentals of object-oriented design methods.
- Develop an understanding of software development as a dynamic, social process, and that learning how to seek out information is a necessary skill for success.
- Leverage two different programming languages to understand programming concepts in general rather than just in the particular.
- Understand type systems (dynamic vs static).
- Know the differences between interpreted and compiled languages.
- Python Basics
- Debugging
- Modules and Functions
- Selection
- Iterable Data Structures
- Classes and Objects
- Intro to C++ & C++ program composition
Basic algebra, modulo