Computer Science
 

Introduction to Computer Programming

Introduction to Computer Programming
Introduction to object-oriented program design and development. Principles of algorithm formulation and implementation.
C S
142
 Hours3.0 Credit, 3.0 Lecture, 0.0 Lab
 PrerequisitesKnowledge of algebra.
 NoteStudents are allowed 1 repeat of each C S undergraduate course (all 100-, 200-, 300- or 400-level courses). This includes all students who received any grade including those who withdraw (receive a "W" grade) from a C S course. Students must wait 1 semester/term before being allowed to take a course they have failed twice. Petitions for exceptions to the policy can be completed at cs.byu.edu/undergraduate-handbook/retake-policy-cs-courses/.
 TaughtFall, Winter, Spring
 ProgramsContaining C S 142
Course Outcomes: 

Write programs whose complexity reaches a few hundred lines

Use the rudiments of the environment and the resources available to help them program (editors, basic computer architecture, compilers, libraries, reference manuals, on-line help).

Develop programs from an English description.

Write programs on their own, independent of "hand holding" by a TA or an instructor (typically a dozen or so).

Understand and use the basic programming constructs: types (built in types, basic provided types including arrays and strings, type construction), values (constants,variables, assignment statements, and expressions), control structures (sequential flow, conditional statements, and loops), and I/O (basic output to the screen and input from the keyboard, and file I/O).

Understand and use objects (value representation, applicable operations, hidden implementations).

Implement basic recursive algorithms.

Describe and use the basic ideas of some of the more advanced programming constructs,including exceptions, inheritance, and polymorphism.

Understand the importance of the following concepts

  • Abstraction

  • Debugging and Assurance of Correctness

  • Program Development (analysis, specification, design, implementation, testing)