Introduction to Computer Programming
|Hours||3.0 Credit, 3.0 Lecture, 0.0 Lab|
|Prerequisites||Knowledge of algebra.|
|Note||Students are allowed only 1 retake of C S 142. This includes students who have failed or withdrawn (received a "W" grade). If after 1 retake, a student needs to retake the course again, the student must wait 1 semester/term before being allowed to take any C S course and must follow the petition process at cs.byu.edu/retake-policy. This policy does not apply to classes dropped before the add/drop deadline. Petitions for exceptions to the policy can be completed at cs.byu.edu/retake-policy.|
|Taught||Fall, Winter, Spring|
|Programs||Containing C S 142|
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
Debugging and Assurance of Correctness
Program Development (analysis, specification, design, implementation, testing)