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
Date | Lecture Section | Lab 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 5 | User Defined Classes: Fields and methods Constructors |
Programming Quiz 1 |
Week 6 | User Defined Classes: Access modifiers Accessors, mutators and other methods |
Lab Assignment 4 HW2 due |
Week 7 | Flow of Control (if-else, nested if-else, select statement) |
Midterm |
Week 8 | Flow of Control (While, Do while) |
Lab Assignment 5 HW3 due |
Week 9 | User input: Command line arguments Console input File read operation |
Project Discussion |
Week 10 | Flow of Control (For loop, continue, break) |
Programming Quiz 2 HW4 due |
Week 11 | Arrays: Algorithms (e.g. search, array copying, min/max, etc) Array of objects |
Lab Assignment 6 |
Week 12 | Arrays: Dynamic arrays |
Lab Assignment 7 HW5 due |
Week 13 | Errors and Debugging |
Lab Assignment 8 |
Week 14 | Exception handling |
Project demo during this week Lab Assignment 9 HW6 due |
Grading
ASSIGNMENT | %
|
Homeworks | 45% |
Lab Assignments | 10% |
Project | 10% |
Quizzes(2) | 10% |
Midterm and Final Exam | 25% |
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.