CS 111: Introduction to Programming Concepts and Design
Citrus College Course Outline of Record
Heading | Value |
---|---|
Effective Term: | Fall 2023 |
Credits: | 4 |
Total Contact Hours: | 72 |
Lecture Hours : | 72 |
Lab Hours: | 0 |
Hours Arranged: | 0 |
Outside of Class Hours: | 144 |
Total Student Learning Hours: | 216 |
Strongly Recommended: | ENGL 101. |
Transferable to CSU: | Yes |
Transferable to UC: | Yes - Approved |
Grading Method: | Standard Letter, Pass/No Pass |
Catalog Course Description
An introduction to the principles of computer programming and software development. Topics covered include the program development cycle, developing algorithms, data and control structures, structured programming, and object-oriented programming. Data types, expressions, control structures, functions, file and stream I/O, and structured and abstract data types are introduced in this course. Microsoft's Visual Studio's integrated development environment is used to help illustrate programming concepts common to modern high-level programming languages. Students must wait two years before retaking this course. 72 lecture hours.
Course Objectives
- explain the basic principles of good program design by summarizing the main steps involved in the program development cycle to understand how computer programs develop from conception to completion
- create programs that include repetition structures and selection structures as demonstrated through written exercises to design versatile programs
- create programs that include arrays, both one-dimensional and two-dimensional as demonstrated through written assignments to design versatile programs
- read independently to acquire information for discussion on the critical steps needed to be a software program regardless of the programming language used
- read independently to acquire information for discussion on the common features found in all high-level programming languages
- practice integrity by displaying ethical and honest behaviors in completing assignments while working as a member of a learning pair/group
- develop effective strategies to collaboratively work with others by participating in small groups to complete designated assignments in a timely, efficient manner
- display time management and student habits that revel ability to complete assignments independently by meeting deadlines for submitting well-prepared work according to designated guidelines
- evaluate important ethical questions in the use of information technology (IT) and demonstrate effective decision-making strategies regarding IT ethics and issues by participating in directed discussions
- utilize the tools found in the interface to create, code, document, and test programs as demonstrated through written assignments to develop software applications
- utilize the tools found in the programming interface to create, code, document, and test programs as demonstrated through written assignments to develop software applications
Major Course Content
- Software life-cycle including design, development, styles, documentation, testing and maintenance
- Procedural versus objected oriented programming
- Survey of current languages
- Program design tools and programming environments
- Documentation
- Coding conventions
- Data types, variables, expressions, sequential processing
- Arrays
- Declaring and allocating arrays
- Multiple-subscripted arrays
- Control structure
- Selective structures: if and switch
- Repetitive structures: loops
- Algorithms including simple sorting and searching
- File I/O
- Files and streams
- Sequential access files
- Error handling
- Passing parameters by value and by reference
- Principles of testing and designing test data
Suggested Reading Other Than Required Textbook
www.htdp.org (i.e., How to design programs)
www.code.org
Examples of Required Writing Assignments
Create a written program that a school teacher can use to keep track of his/her students' scores.
Examples of Outside Assignments
Create a GUI (i.e., graphical user interface) that allows the user to enter two numbers and then determines the minimum between the two simultaneously.
Instruction Type(s)
Lecture, Online Education Lecture