CIS120 - Introduction to Computer Programming
3 Credit hours - 2 Lecture, 2 Lab
Prerequisite(s): CIS101 must be taken before or together
Course Rationale:
This course provides students an introduction to the information technology industry which will help them make informed decisions about their career choices and provide students with a programming foundation to prepare them for later courses.
Catalog Description:
This course teaches introductory skills in computer programming using a high-level computer programming language. There is an emphasis on both the principles and practice of computer programming topics such as basic principles, object-oriented programming, algorithms, and software development methods. Emphasis in both synthesis and analysis of computer programs.
Course Objectives
Upon successful completion of this course, the student should be able to:
Understand the basic terminology used in computer programming
Identify and utilize resources and documentation about computer programming languages.
Analyze and solve problems involving sequence, selection, and repetition, and create the appropriate algorithms using pseudocode and flowcharts to document the solution.
Develop an executable programming solution to a typical problem using correct syntax, data types, and programming standards.
Describe the concepts of class objects and object-oriented programming.
Understand how to compile, debug, and run programs in an Integrated Development Environment
All course assignments and exams are closely aligned to, and assess the student's mastery of these core objectives.
Core Outcomes
In this course, students are introduced to key concepts of computer programming and problem solving concepts needed for approaching software problems. Course assumes no prior knowledge in computer programming. Language used is dependent on the instructor’s choice.
Students completing this course should be able to perform the following:
Demonstrate problem-solving skills such as flow-charting
Design algorithms for entry-level software problems using pseudocode
Demonstrate industry standards for documenting and structuring code
Document code segments using comments and documentation strings - use indentation, white space, comments, and documentation strings; generate documentation
Construct and analyze code segments that include function definitions - call signatures; default values; return; def; pass
Understand fundamentals of programming such as variables, conditional, and iterative execution.
Determine the sequence of execution based on operator precedence - assignment; comparison; logical; arithmetic; identity (is); containment (in)
Select the appropriate operator to achieve the intended result - assignment; comparison; logical; arithmetic; identity (is); containment (in)
Explain and use data types in their target language
Perform data and data type operations - convert from one data type to another type; construct data structures; perform indexing and slicing operations
Explain and use logical structures, control structures, and loops in programs
Construct and analyze code segments that use branching statements - if; elif; else; nested and compound conditional expressions
Construct and analyze code segments that perform iteration - while; for; break; continue; pass; nested loops and loops that include compound conditional expressions
Understand the concept of arrays
Demonstrate the use of arrays in their target language
Perform input and output operations
Construct and analyze code segments that perform file input and output operations - open; close; read; write; append; check existence; delete; with statement
Construct and analyze code segments that perform console input and output operations - read input from console; print formatted text; use of command line arguments
Demonstrate the use of a programming IDE in the target language
Understand entry-level debugging terminology and steps in their programming IDE
Analyze, detect, and fix code segments that have errors - syntax errors; logic errors; runtime errors
Analyze and construct code segments that handle exceptions - try; except; else; finally; raise
Explain and use the concept of data validation.
Create entry-level software programs in their target language
Explain the reason source control is used in software development and demonstrate the ability to use source control systems such as Azure DevOps Server (formerly TFS) to create repositories, check code into repositories, and retrieve code from source control.
Test Out Requirements
Students who wish to demonstrate proficiency in this course will need to complete a Departmental proficiency exam or pass a certification exam from the list below. Students who wish to complete the certification route will be responsible for the cost of the exam in addition to the college’s test out fees.
Departmental proficiency examinations are created by appropriate college faculty to allow students to demonstrate their mastery of course content in designated subjects. These examinations will be equivalent to the cumulative final assessment used in the course. Faculty will determine the minimum score required to earn credit by exam for these courses.
The college’s test out policy is outlined in policy 2.12 - Credit by Exam (Test Out)
Exams and Certification Equivalent:
AP Computer Science Principles
PLTW Computer Science Principles
Last updated