ITEC 111
Programming Fundamentals
1. Catalog Entry
ITEC 111
Programming Fundamentals
Credit hours (1)
A self-paced, online, asynchronous course to prepare students for Principles of Computer Science I (ITEC 120). The course provides online video lectures, lab assignments with worked-out video solutions, quizzes, and a final exam. Course modules are organized in a logical progression, but students may work on any module in any order based on their individual needs. Students use quizzes to assess their understanding of the material. Students enrolled in ITEC 120 who are struggling will be able to withdraw and add this course. Note (s): The course is offered for audit or Pass/Fail. Students who earn credit for ITEC 120 may not receive credit for ITEC 111, but they may audit the course.
2. Detailed Description of Course
Topics include:
    1) Fundamental constructs (primitive data types, variables, conditionals, loops,
                                    methods)
    2) Processing strings and arrays of primitive types
    3) Tracing code
    4) Testing and debugging
    5) Terminal input and output
    6) Algorithmic problem solving including functional decomposition
    7) Introduction to algorithms (linear search)
    
3. Detailed Description of Conduct of Course
A self-paced, online, asynchronous course that provides online video lectures, lab
                                    assignments with worked-out video solutions, quizzes, and a final exam. Students use
                                    quizzes to assess their understanding of the material and they select modules based
                                    on their individual needs. Students may audit the course or receive a pass/fail grade
                                    based on their final exam score.  
 
4. Goals and Objectives of the Course
To complete this class, students will:    
    1) Design, implement, test, and debug programs that involve fundamental programming
                                    constructs including basic computation,
        standard conditional and iterative structures, and methods.
    2) Apply the techniques of structured (functional) decomposition to break a program
                                    into a set of smaller tasks.
    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 and tracing
        code by hand.
5. Assessment Measures
Students use quizzes to assess their understanding of the material. Pass/Fail grades
                                    will be determined based on the student’s final exam score.
 
6. Other Course Information
None.
Review and Approval
June 20, 2015