CS 125

CS 125 - Intro to Computer Science

Fall 2015

TitleRubricSectionCRNTypeHoursTimesDaysLocationInstructor
Intro to Computer ScienceCS125AL135876LEC40900 - 0950 M W F  1320 Digital Computer Laboratory William L Chapman
Intro to Computer ScienceCS125AL235878LEC41300 - 1350 M W F  1320 Digital Computer Laboratory William L Chapman
Intro to Computer ScienceCS125AL350158LEC41400 - 1450 M W F  1404 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AQA63346Q00800 - 0850 R  L416 Digital Computer Laboratory William L Chapman
Intro to Computer ScienceCS125AQB63347Q00900 - 0950 R  L416 Digital Computer Laboratory William L Chapman
Intro to Computer ScienceCS125AQC63348Q01000 - 1050 R  L416 Digital Computer Laboratory William L Chapman
Intro to Computer ScienceCS125AQD63349Q01100 - 1150 R  L416 Digital Computer Laboratory William L Chapman
Intro to Computer ScienceCS125AQE63350Q01200 - 1250 R  L416 Digital Computer Laboratory William L Chapman
Intro to Computer ScienceCS125AQF63351Q01300 - 1350 R  L416 Digital Computer Laboratory William L Chapman
Intro to Computer ScienceCS125AQG63352Q01400 - 1450 R  L416 Digital Computer Laboratory William L Chapman
Intro to Computer ScienceCS125AQH63353Q01500 - 1550 R  L416 Digital Computer Laboratory William L Chapman
Intro to Computer ScienceCS125AQI63354Q01600 - 1650 R  L416 Digital Computer Laboratory William L Chapman
Intro to Computer ScienceCS125AQJ63355Q01700 - 1750 R  L416 Digital Computer Laboratory William L Chapman
Intro to Computer ScienceCS125AQK63356Q01800 - 1850 R  L416 Digital Computer Laboratory William L Chapman
Intro to Computer ScienceCS125AQL63357Q01900 - 1950 R  L416 Digital Computer Laboratory William L Chapman
Intro to Computer ScienceCS125AQM63358Q02000 - 2050 R  L416 Digital Computer Laboratory William L Chapman
Intro to Computer ScienceCS125AQN65029Q01000 - 1050 W  L416 Digital Computer Laboratory William L Chapman
Intro to Computer ScienceCS125AYA35881LBD00900 - 1050 T  0224 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYB35885LBD01100 - 1250 T  0224 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYC35888LBD01300 - 1450 T  0224 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYD35891LBD01500 - 1650 T  0224 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYE35898LBD01700 - 1850 T  0224 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYF35901LBD01900 - 2050 T  0224 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYG35904LBD00900 - 1050 W  0224 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYH35906LBD01100 - 1250 W  0224 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYI35908LBD01300 - 1450 W  0224 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYJ35911LBD01500 - 1650 W  0224 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYK35914LBD01700 - 1850 W  0224 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYL35894LBD01300 - 1450 W  1103 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYM65059LBD01700 - 1850 T  1103 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYN65058LBD01100 - 1250 W  1103 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYO65060LBD01600 - 1750 W  1105 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYP65061LBD01800 - 1950 W  1103 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYQ65865LBD01500 - 1650 W  1214 Siebel Center for Comp Sci William L Chapman
Intro to Computer ScienceCS125AYR65866LBD01600 - 1750 W  1105 Siebel Center for Comp Sci William L Chapman

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 012. 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.

Learning Goals

  1. Create computer programs that solve a variety of problems using appropriate techniques, including imperative, recursive, and object-oriented approaches. (1, 2, 6)
  2. 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)
  3. 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)
  4. Understand the features of computers that make them useful for solving problems, including computation, memory, storage, and networking. (2)
  5. Learn and apply classic computer science algorithms for sorting and searching data while understanding their behavior and running time. (1, 6)
  6. Write computer programs that represent and manipulate different types of information—such as text, audio, and visual data. (1, 2, 6)
  7. Formulate useful algorithms that solve real problems and can be implemented and run on a computer. (1)
  8. 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