CS 125
CS 125 - Intro to Computer Science
Spring 2021
| Title | Rubric | Section | CRN | Type | Hours | Times | Days | Location | Instructor |
|---|---|---|---|---|---|---|---|---|---|
| Intro to Computer Science | CS125 | AL2 | 31155 | OLC | 4 | - | Geoffrey Challen | ||
| Intro to Computer Science | CS125 | ALP | 31152 | OLC | 4 | - | Geoffrey Challen | ||
| Intro to Computer Science | CS125 | AYA | 31157 | OLB | 0 | 0900 - 0950 | T | ||
| Intro to Computer Science | CS125 | AYB | 31159 | OLB | 0 | 1000 - 1050 | T | ||
| Intro to Computer Science | CS125 | AYC | 31160 | OLB | 0 | 1100 - 1150 | T | ||
| Intro to Computer Science | CS125 | AYD | 31163 | OLB | 0 | 1200 - 1250 | T | ||
| Intro to Computer Science | CS125 | AYE | 31176 | OLB | 0 | 1300 - 1350 | T | ||
| Intro to Computer Science | CS125 | AYF | 31177 | OLB | 0 | 1400 - 1450 | T | ||
| Intro to Computer Science | CS125 | AYH | 31168 | OLB | 0 | 1500 - 1550 | T | ||
| Intro to Computer Science | CS125 | AYI | 31170 | OLB | 0 | 1600 - 1650 | T | ||
| Intro to Computer Science | CS125 | AYJ | 31172 | OLB | 0 | 1700 - 1750 | T | ||
| Intro to Computer Science | CS125 | AYM | 62256 | OLB | 0 | 1900 - 1950 | T | ||
| Intro to Computer Science | CS125 | AYN | 62257 | OLB | 0 | 2000 - 2050 | T |
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: 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