Computer Science I for Majors
Prerequisites
MATH 150 (or better)
Description
An introduction to computer science through problem solving and computer programming. Programming techniques covered by this course include modularity, abstraction, top-down design, specifications documentation, debugging and testing. The core material for this course includes control structures, functions, lists, strings, abstract data types, file I/O, and recursion.
Course Outcomes
- To develop problem-solving skills, especially in the use of computers to solve real-world problems.
- To learn basic programming skills, especially software development using the Python language.
- To learn how to use UMBC’s UNIX system to create, test and execute Python programs.
- To prepare for further study in Computer Science.
Program Outcomes
This course enables the following program outcomes:
- be proficient in at least one high-level programming language and have an ability to analyze, design, and implement software solutions in a variety of settings;
- have gained familiarity with state-of-the-art programming techniques, tools, and practices;
Text
Python Programming: An Introduction to Computer Science, John Zelle, Franklin, Beedle & Associates. Recommended
Topics
- Intro to Computer Science using Python
- Numbers
- Lists
- for Loops
- Strings
- Conditionals and Booleans
- Documentation
- Functions
- Tracing Functions
- I/O
- Loops
- Graphics
- Objects
- Methods
- Top-down Design
- Random Numbers
- Python’s Data Types
- Abstract Data Types
- Sorting
- Searching
- Algorithm Analysis
- Command-line Arguments
- Recursion
- Defining New Classes
- Coupling and Cohesion
Grading
24% | 8 homeworks |
16% | 2 projects |
10% | best 10 out of 12 labs |
25% | Midterm |
25% | Final |