ITEC 120: Principles of Computer Science I (GE)
Prerequisites: A “C” or better in MATH 125 or MATH 138; or credit for MATH 126, MATH
168, OR MATH 171; a 2.5 GPA or higher; or permission of instructor.
Credit Hours: (4)
A rigorous, systematic approach to object-oriented problem solving and programming.
Students who withdraw from ITEC 120 may add ITEC 111 during the same term.
Note(s): General Education and Scientific and Quantitative Reasoning designated course. Students
may not attempt to take ITEC 120 more than two times (a “W” will count as an attempt).
Students who have taken ITEC 109 must earn a ‘C’ or better in ITEC 109 before taking ITEC 120.
Detailed Description of Content of Course
Topics include:
1. Fundamental constructs (primitive types, variables, I/O, conditionals, loops, methods)
2. Processing strings and arrays of primitive and reference types
3. Testing and debugging
4. Terminal input and output
5. Object oriented programming techniques: methods, fields; getters, setters, mutators; introduction to subclasses
6. Algorithmic problem solving including functional decomposition
7. Introduction to algorithms (linear search; an example of sorting)
Detailed Description of Conduct of Course
Class lecture and discussion sessions present and explain problem solving techniques and standard algorithms, illustrated with examples. In the laboratory students learn, with faculty guidance, to solve programming problems and to implement their solutions. Students are also required to solve, code, test and debug problems without direct faculty guidance.
Goals and Objectives of the Course
Students who complete the course will be able to:
1. Design, implement, test, and debug a program in an object-oriented language that uses each of the following fundamental programming constructs: basic computation, simple I/O, standard conditional and iterative structures, methods and constructors.
2 Apply the techniques of structured (functional) decomposition to break a program into smaller pieces, and describe the mechanics of passing parameters by value.
3. Choose the appropriate data types (primitive types, strings, objects, and arrays thereof) for modeling a given problem
4. Write methods with parameters and return types that are primitive types, strings, objects, or arrays thereof.
5. Test and debug programs by: Developing test cases and writing a separate driver class to test the methods of a class; desk-checking individual methods; and inserting relevant print statements to discover program behavior.
6. Answer basic questions about professional and ethical considerations of developing software, information privacy, and acceptable use policies for computing in the workplace.
Assessment Measures
Student achievement is measured by written tests and evaluation of homework and programming assignments.
Other Course Information
None.
Review and Approval
October 1, 1991 Updated for 1991-92 Ivan B. Liss, Chair
May 12, 1994 Updated for 1994-95 Edward G. Okie, Chair
May 30, 1005 Updated for 1995-96 Edward G. Okie, Chair
Sept. 25, 2001 Updated John P. Helm, Chair
Feb. 11, 2002 Updated John P. Helm, Chair
Feb. 17, 2002 Updated John P. Helm, Chair
February, 2003 Updated John P. Helm, Chair
April 15, 2009 Updated Arthur E. Carter, Chair
Revised: June 1, 2012
April, 2019
March 01, 2021