CS 125
CS 125 - Intro to Computer Science
Fall 2021
| Title | Rubric | Section | CRN | Type | Hours | Times | Days | Location | Instructor |
|---|---|---|---|---|---|---|---|---|---|
| Intro to Computer Science | CS125 | AL1 | 35876 | OLC | 4 | - | Geoffrey Challen |
See full schedule from Course Explorer
Web Page
Official Description
Basic concepts in computing and fundamental techniques for solving computational problems. Intended as a first course for computer science majors and others with a deep interest in computing. Course Information: Credit is not given for both CS 125 and CS 124. Prerequisite: Three years of high school mathematics or MATH 112. Class Schedule Information: Students must register for one lab-discussion and one lecture section. Engineering students must obtain a dean's approval to drop this course after the second week of instruction.
Course Director
Learning Goals
- Create computer programs that solve a variety of problems using appropriate techniques, including imperative, recursive, and object-oriented approaches. (1, 2, 6)
- Read and understand iterative and recursive computer code—determining intention, tracing runtime behavior, identifying bugs and errors that might occur, and estimating computational cost and complexity. (2)
- Develop and debug programs using industry-standard tools and best practices, including visual editing and debugging (IntelliJ and Android Studio), source version control (Git), and pair programming. (1, 2, 5, 6)
- Understand the features of computers that make them useful for solving problems, including computation, memory, storage, and networking. (2)
- Learn and apply classic computer science algorithms for sorting and searching data while understanding their behavior and running time. (1, 6)
- Write computer programs that represent and manipulate different types of information—such as text, audio, and visual data. (1, 2, 6)
- Formulate useful algorithms that solve real problems and can be implemented and run on a computer. (1)
- Use object-oriented design to appropriately structure data and couple data and behavior. (2, 6)
Topic List
- Imperative programming:
- variables and types
- conditional expressions and statements
- loops
- single- and multi-dimensional arrays
- functions
- interfaces
- throwing and handling exceptions
- recursion
- representing and working with different kinds of data
- computational thinking
- Object-oriented programming:
- classes, instances, and references
- class design: constructors; getters, and setters; instance and class variables
- inheritance and subtype polymorphism
- parametric polymorphism (generics)
- data modeling
- Data structures and algorithms:
- Lists, trees, maps, and graphs
- Searching, sorting, and hashing
- Basic runtime analysis and big O notation
- Software engineering:
- debugging and testing
- software version control
- UI design and implementation
Required, Elective, or Selected Elective
Required
Last updated
3/21/2019by Geoffrey Challen