Course Outcomes


  • Analyze and explain the behavior of simple programs involving the following fundamental programming constructs: assignment, I/O (including file I/O), selection, iteration, methods
  • Write a program that uses each of the following fundamental programming constructs: assignment, I/O (including file I/O), selection, iteration, methods
  • Break a problem into logical pieces that can be solved (programmed) independently.
  • Develop, and analyze, algorithms for solving simple problems.
  • Use a suitable programming language, and development environment, to implement, test, and debug algorithms for solving simple problems.
  • Write programs that use each of the following data structures (and describe how they are represented in memory): strings, arrays
  • Explain and apply object-oriented design and testing involving the following concepts: data abstraction, encapsulation, information hiding, inheritance, and polymorphism. Utilize tools such as Unified Modeling language (UML) to represent object oriented designs.
  • Use a development environment to design, code, test, and debug simple programs, including multi-file source projects, in an object-oriented programming language.
The syllabus and the information on course administration are provided here

Tentative Schedule

DateLecture SectionLab Session
Week 1 Class logistics
Introduction to programming:
Flowchart and pseudocode
Lab Assignment 0
Week 2 Object Oriented design: class and objects Lab Assignment 1
Week 3 Java Datatypes
Variables: declaration, scope
Lab Assignment 2
HW1 due
Week 4 Operators: arithematic, relational and logical
Operator precedence & associativity
Methods
Lab Assignment 3
Week 5User Defined Classes:
Fields and methods
Constructors
Programming Quiz 1
Week 6User Defined Classes:
Access modifiers
Accessors, mutators and other methods
Lab Assignment 4
HW2 due
Week 7Flow of Control (if-else, nested if-else, select statement) Midterm
Week 8Flow of Control (While, Do while) Lab Assignment 5
HW3 due
Week 9User input:
Command line arguments
Console input
File read operation
Project Discussion
Week 10Flow of Control (For loop, continue, break) Programming Quiz 2
HW4 due
Week 11Arrays:
Algorithms (e.g. search, array copying, min/max, etc)
Array of objects
Lab Assignment 6
Week 12Arrays:
Dynamic arrays
Lab Assignment 7
HW5 due
Week 13Errors and Debugging Lab Assignment 8
Week 14Exception handling Project demo during this week
Lab Assignment 9
HW6 due

Grading

ASSIGNMENT %
Homeworks45%
Lab Assignments10%
Project10%
Quizzes(2)10%
Midterm and Final Exam25%
Students need to have a cumulative score of more than 50% of the points in exams and quizzes combined

Attendance Policy


Students are expected to attend classes without fail and sign the attendance sheet distributed in class. Absences will be reported to academic affairs and multiple absences may also affect your final grade.

Honor Code


The university academic dishonesty policies are in force for the course. Please refer to the handbook for details. Students will not collaborate on assignments or homeworks unless it is explicitly allowed. Students will also read, sign the College of Science academic integrity pledge and submit to the instructor.