Introduction to Computer Programming
|Hours||3.0 Credit, 3.0 Lecture, 0.0 Lab|
|Prerequisites||Knowledge of algebra.|
|Note||Students 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/.|
|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)