Catalog Description
- Transfer Status
- CSU/UC
- Unit(s)
- 3.00
- Lecture: 42.50 Contact hours/85.00 Out of class hours/127.50 Total hours/2.50 Unit(s)
- Lab: 25.50 Contact hours/0.00 Out of class hours/25.50 Total hours/0.50 Unit(s)
- Total: 68.00 Contact hours/85.00 Out of class hours/153.00 Total hours/3.00 Unit(s)
Course Description: This course introduces students to the fundamental concepts of programming. Students will learn about the software development life-cycle, algorithms, and the design, implementation, and testing of programs using an object-oriented programming language. (C-ID COMP 112).
Objectives
Upon successful completion of this course, the student should be able to:
- Describe the software development life-cycle.
- Describe the principles of structured programming.
- Describe, design, implement, and test structured programs using currently accepted methodology.
- Explain what an algorithm is and its importance in computer programming.
Course Content
Topic Titles / Suggested Time Topic
Lecture
| Topics | Lec Hrs |
|---|---|
Software life-cycle including design, development, styles, documentation, testing and maintenance | 2.50 |
Procedural versus objected oriented programming
| 2.50 |
Program design tools and programming environments | 2.50 |
Documentation | 2.50 |
Coding conventions | 2.50 |
Data types, variables, expressions, sequential processing | 2.50 |
Arrays
| 6.25 |
Control structures
| 5.00 |
Algorithms including simple sorting and searching | 5.00 |
File Input/Output (I/O)
| 2.50 |
Error handling | 1.25 |
Passing parameters by value and by reference | 5.00 |
Principles of testing and designing test data | 2.50 |
| Total Hours: | 42.50 |
Lab
| Topics | Lab Hrs |
|---|---|
Program design tools and programming environments | 1.50 |
Documentation | 1.50 |
Coding conventions | 1.50 |
Data types, variables, expressions, sequential processing | 1.50 |
Arrays | 3.75 |
Control structures | 3.75 |
Algorithms including simple sorting and searching | 3.00 |
File I/O | 1.50 |
Error handling | 0.75 |
Passing parameters by value and by reference | 4.50 |
Principles of testing and designing test data | 2.25 |
| Total Hours: | 25.50 |
Methods of Instruction
- Collaborative Group Work
- Demonstrations
- Homework: Students are required to complete two hours of outside-of-class homework for each hour of lecture
- Lecture
- Multimedia Presentations
Methods of Evaluation
- Quizzes
- Homework
- Lab Projects
- Mid-term and final examinations
Examples of Assignments
Reading Assignments
- Read the section in your text on loops. Be prepared to discuss the problem of infinite loops in class.
- Read the documentation for exception handling for the programming language you are using for your class project. Be prepared to present a short example in class.
Writing Assignments
- Write out, in detail, an algorithm for searching for a specific value in an array of integers, and implement your algorithm in a short program.
- Using the sample program provided by the instructor, correct the formatting to follow the coding convention required in the class, and write documentation for all of the functions in the program. Be sure your documentation includes comments for the parameters and return value if applicable.
Out-of-Class Assignments
- Design and fully document a set of test data that would be appropriate for the sample program provided by the instructor. Be prepared to answer the following question in class: would the sample program pass or fail a test against your data?
- Design and implement a short program that opens a text file and searches for and counts the number of occurrences of a given string. Make sure your program is case-insensitive and ignores punctuation.
Recommended Materials of Instruction
Savitch, Walter; Mock, Kenrick. (2017). Problem Solving with C++. Pearson, 10th. 978-0134448282.
Deitel, Paul; Deitel, Harvey. (2017). C++ How to Program. Prentice Hall, 10th. 978-9332585737.
Al Sweigart. (2019). Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners. No Starch Press, 2nd. 978-1593279929.
Minimum Qualifications
Computer Science (Masters Required)
Computer Information Systems