Computer Programming I Syllabus


Course #: IT 1090 Section(s): All

Room/Time: Room 321 Muntz, Tue/Thur, in class, in person, unless otherwise communicated.

Instructor: Mr. Mark Thomas    (e-mail: mark.thomas@uc.edu)

Office: 353F Muntz Hall    Office Hours

Phone No: (513) 558-1662

Textbook: Programming in Java with ZyLabs (required)

Software downloads: Java JDK, and Netbeans 12, Google for sample install video how-tos.

Course Goal: To provide the introductory IT student with a basic introduction to computer programming technology and algorithmic problem solving using Java as the introductory programming language.

Grading Scale: Grades will be calculated based upon attendance, programs (approx. 70%) and quizzes (approx. 30%). Grades will be based upon the standard 10 point grading scale (i.e. A: 90 - 100, B: 80-89, C: 70-79, etc.) and will NOT include the +/- grades. Get program grading sheet here.

Prerequisites: The mandatory completed prerequisite for this course is Int. Algebra (Math 134). The student is responsible for any/all material presented in any/all of the pre/co-requisites. Missing any of the pre-requisites OR co-requisites is sufficient cause to be withdrawn by the instructor (unless otherwise having permission of the instructor). Refer to the suggested sequence chart.

Assignments: There will be approximately 8 sections from the text covered in this class (see syllabus below). Assignments will be given for each major section. Grading will be based upon the number of sections/assignments completed. The assignments are subject to change based upon the actual progress of the class. All assigned work will be discussed in class as will due dates. All assigned work is expected to be complete at the beginning of class on the assigned due date. In addition, short quizzes will be given throughout the quarter as well as a final exam. Late assignments will not be accepted. No code may be copied/cut/pasted from other sources. Any such copied code will NOT be graded. Refer to Programming Guidelines.

Attendance: Classroom attendance is expected and is required. If you do miss class, please make sure you get the notes and any other distributed material from another student in the class. Assignments completed in class (tests, quizzes, projects, etc.) cannot be made up, regardless of the reason for your absence. If you miss more than 10% of the regularly scheduled class meetings, I reserve the right to require you to withdraw from the class.

Preparation: Preparation for and participation in class is encouraged and expected. Reading assignments will be given and are expected to be complete before coming to class. Class discussion of the reading material is expected. If it appears that reading assignments are not being done and class participation is not taking place, surprise quizzes may be given. In addition, questions will be assigned which will help the student understand the material being covered. These questions will be discussed in class. Refer to IT Expectations.

Classroom Behavior: Classroom behavior such as websurfing e-mailing, online chat and/or game playing will NOT be tolerated. This behavior is rude and disruptive to the other students in the class, as well as to the instructor. If this behavior occurs, the student(s) responsible may be withdrawn from the course by the instructor without the permission or knowledge of the student.

Other Information: Student religious accomodation info here.

Note: syllabus is likely to change based upon the actual progress of the course!

Last Updated: Jan , 2024


Week Topics Notes ZyBook Other Refs. Assignments
1 Introduction, programming languages and program translation, algorithms and algorithmic problem solving, problem solving strategies Problem Solving Ch 1.8 read Cheating
2 Intro to OO Terminology and Objects, Ruby OOP, Sample Java Program and Program Elements explained, Java/NetBeans Environment (see video), Problem Solving v2. notes Ch 1, 1.1-1.10, Lab 1.14 Using linkedin learning Java 8 Essentials (J8E) Sample Program Tutorial, Why Hello World?, read Failing Software Projects
3 Intro to variables, data types & scope, declaring, assignment, constants, arithmetic operators, console input, numberDoubler notes Ch 2, 2.1 - 2.7, Example 2.23 linkedin J8E variables working with, declaring, operators
4 Intro to Methods, type casting and conversion, formatting currency, formatting numbers, numbers (quick ref), General Java Development Steps notes Ch 2, 2.1 - 2.7, 2.10, 2.12, 2.17, Example 2.23 Prog Assn 1, Assn 1 video
5 Math class methods, introduction to decision statements, relational & logical operators notes 3.1-3.5 (all), 3.7, 3.8, 3.10 J8E Decision statements Prog Assn 2, Assn 2 video
6 Intro to Repetition Statements notes 4.1, 4.2, 4.3, 4.3.1 PA, 4.3.3 PA Prog Assn 2a, Assn 2a flow, Assn 2a bad flow, Assn 2a video
7 More with Repetition statements, string comparison, variables and scope (see zybook 4.10)   String types, 2.15, 3.13, 4.10 Prog Assn 2b, Assn 2b flow, Assn 2b video
8 Exceptions and exception handling (see try-catch here), Intro to the debugger (see article here) notes 12.1 (all) Prog Assn 2c, Assn 2c video
9 Graphical User Interface programming, GUI design, poor GUI design, more GUI stupidity notes Reading, GUI handout
10 GUI programming, cont.'d., GUI dialogs    Prog Assn 3
11 Classes and object creation, OOP overview, creating objects, constructor handout, bank account example notes 7.1 - 7.7 J11E Ch. 6.1, Classes and Objects  
12 Classes and objects, cont'd., bicycle class example, InputDialog example 7.1 - 7.7  
13 Classes and objects (if necessary), Intro to arrays, Input Dialog example 2, Oracle array link notes Ch 5.1 - 5.4, 4.4 (for loops) LinkedIn Arrays, J8E Repetition statements with Arrays Prog Assn 4, Assn 4 flow
14 Arrays cont'd., array example1, array example2 , Intro to methods notes 6.1 - 6.3 J8E Ch. 7.4, Methods Prog Assn 5 Prog Assn 5
15 Methods & parameter passing, cont.'d more with methods 6.1 - 6.3 Last quiz.
Finals Final Project due        

© 2024-25, Mark A. Thomas. All Rights Reserved.