Computer Science 111 and 111L - Introduction to Algorithms and Programming: Java
Insert Semester Course Syllabus WARNING: This is a 50/50 Hybrid course 50% in-person, 50% online

Course Description: This course is an introduction to algorithms, their representation, design, structuring, analysis and optimization. It requires implementation of algorithms as structured programs in a high level language. This course will use Java and students will be expected to write and execute Java programs in the lab section.

Insert WhenWhere

Attendance for the classroom portion is mandatory. Students with excessive absences may be dropped according to the rules of the Santa Clarita Community College District.

Completing online work on time is mandatory. Students with excessive missed assignments may be dropped according to the rules of the Santa Clarita Community College District.

Please check CMP SCI 111 on Canvas each week for:

Insert Instructor

Required Text: Insert Book Info

Lecture Grading Lab Grading
Exam 1 10% 20 points

Midterm 20% 40 points

Exam 3 10% 20 points

Final 30% 60 points

Online Coursework 20% 40 points

Class Participation 10% 20 points

200 points total

12 Online programming projects, 60 points 30%

4 In-person programming tests, 80 points 40%

Online Coursework, 40 points 20%

Class Participation 20 points 10%

200 points total

Needed Point Totals (out of 200): A - 175 points, B - 155 points, C - 130 points, D - 110 points

See Back/Below for Test Dates

Important Dates (Please be sure to avoid scheduling conflicts with these dates):

Insert Exam 1

Insert Midterm

Insert Exam 3

Insert Final

Insert Program 1

Insert Program 2

Insert Program 3

Insert Program 4

Please be sure to avoid scheduling conflicts with these dates.
Exams/Tests are closed book and notes.

NO CELL PHONE USE DURING CLASS. Everyone is allowed a 5 minute phone/bathroom break, please quietly leave the classroom for either one.

During lecture ALL computer and laptop screens must be DOWN, bring paper/pen/pencil to take notes. Obviously, they can/will be up during lab. Violations of these rules may result in a penalty reduction of points.

Student Learning Outcomes:
Evaluate the basic concepts of computer programming and analyse their impact on algorithms, problem solving and program implementation.

Course Outline

  1. What is a computer, Binary Representation of Information, Programming Languages, Java, Java Byte Code, Java Virtual Machine, First Java Program Reading Assignment - Chapter 1
  2. Java Language Elements, Variables and data types, Strings, Syntax and Semantics, Programming Errors, Debugging Reading Assignment - Chapter 2
  3. Selections (Control Statements), if, if-else, switch, Relational and logic operators, Precedence and Associativity Reading Assignment - Chapter 3
  4. Loops: while, do-while, for, break and continue Reading Assignment - Chapter 5
  5. Methods (aka functions, procedures, subroutines), Parameters (pass by value), Scope, Lifetime, Overloading Reading Assignment - Chapter 6
  6. Arrays, Looping through arrays, search algorithms, Sort algorithms, Array parameters (pass by reference), 2-D and higher arrays Reading Assignment - Chapter 7 (some 8)
  7. Classes and Objects, Building a class, Using objects, Static variables and methods, Constructors, Reference variables, Visibility modifiers Reading Assignment - Chapter 9
  8. Inheritance, Class hierarchy, Constructors, Private-Protected-Public, Polymorphism Reading Assignment - Chapters 10 and 11
  9. Strings and File I/O, String classes, Open and read/write text files, Intro to exception handling Reading Assignment - Chapters 4 and 12
  10. Abstract classes, Interfaces, Object Oriented Design and Patterns Reading Assignment - Chapter 13
  11. Recursion, recursive algorithms, Complexity analysis, Binary search algorithm Reading Assignment - Chap. 18
  12. Java FX, Swing, AWT, Exception Handling, Event Drivien and GUI programming Reading Assignment - Parts of Chapters 12, 14, 15, and 16