CSC 111 : Java Programming I
The course aims at giving the students a broad foundation in the fundamental concepts of object oriented programming accompanied by specific labs to develop the basic skills in object oriented programming with Java. It introduces the basic concepts and principles of the Object Oriented approach such as: (1) Abstraction and Encapsulation principles, (2) Classes, objects and the constructor concepts, (3) Information hiding principle and the assessors concept, (4) methods, and (5) the message passing and the overloading principles.
Course Outcomes:
- To understand the fundamental principles of object-oriented programming.
- To be able to read and understand Java programs.
- To apply fundamental object-oriented principles in writing programs using Java.
- To be familiar with the Unified Modeling Language (UML).
The Textbook
- Java: An Introduction to Problem Solving and programming, 7E, W. Savitch, Pearson International (Textbook)
- Java How to program
Deitel and Deitel (Seventh edition) Pearson International (reference)
- Introduction to Java Programming, Comprehensive Version, 10E
Y. Daniel Liang, Prentice Hall (reference)
Schedule plan
Week # | Topic | Course Material | Labs, Lab exams |
1 | · Introduction to computers and Java: computer basics, Java, programming basics | Chapter 1 Introduction | |
2 | · Variables, Data Types, Identifiers, Assignment · Simple Input/Output |
Ch 2.1 Ch 2.1 |
LAB-1 (Hello world, variables, assignment) |
3 | · Constants, Type Casting, Arithmetic Operators, Operator precedence · Case study: vending machine change |
Ch 2.1 Ch 2.1 |
LAB-2 (variables, IO, expressions) |
4 | · Increment and decrement, keyboard and screen I/O, documentation and Style Basic if-else statement, Boolean expressions | Ch 2.1, 2.3 Ch 3.1 |
|
5 | · Nested if-else statement, multi branch if statement · Case Study, exit Method (conditional operator not included)Comparing strings, The type Boolean |
Ch 3.1 Ch 3.1 Ch 3.1, 3.2 |
LAB-3 (if statement, Boolean expressions) |
6 | · Switch statement (enumeration not included) · while statement · do-while statement · Programming example |
Ch 3.3 Ch 4.1 Ch 4.1 |
LAB-4 (simple loops) |
· Mid Term Exam– I | |||
7 | · for statement (for-each not included) · Nested loop · Programming with loops, loop bugs, tracing variables (break and continue, assertion not included) |
Ch 4.1 Ch 4.1 Ch 4.2 |
LAB-5 (Nested loops) |
8 | · Classes: Instance variable, · UML Programming · Example Methods, void Method, Method that return a value |
Ch 5.1 Ch 5.1 Ch 5.1 |
EXAM-1 (simple program with variables, IO, expressions, conditional statement, loops) |
9 | · The keyword this, · Local variables, blocks Parameters of a primitive type · Information hiding, public and private modifiers |
Ch 5.1 Ch 5.1 Ch 5.2 |
LAB-6 (Objects) |
10 | · Accessor (getters) and mutator methods(setters) · Encapsulation, UML class diagram · Methods calling methods |
Ch 5.2 Ch 5.2 |
LAB-7 (objects and methods) |
11 | · Variable of class type (references) · Defining an equals method for a class · Parameters of class type · Constructors |
Ch 5.3 Ch 5.3 Ch 6.1 |
LAB-8 (Information hiding, encapsulation) |
11 | · Mid Term Exam– II | ||
12 | · Static variables and methods · Overloading · Array basics |
Ch6.2 Ch6.4 Ch7.1 |
LAB-9 (Constructors, static variables & methods, overloading) |
13 | · Array basics programming example · Arrays in classes and methods · Array of objects |
Ch7.1 Ch7.2 Ch7.3 |
LAB-10 (array processing) |
14 | · Operations on array of objects (add, search, delete) | (Instructor Notes) | LAB-11 (Array of objects) |
15 | · Revision | Final Lab Exam (everything) | |
· Final Exam |
Assessment Methods & Policy:
Homework, Quizzes and Attendance 16% 12% Homework Assignments (1/HW)
4% Class Project
Lab. 24% 3 Evaluation Exams
In the Lab (6+8+10)
Written Midterm Exams 20% 10% Midterm exam 1
10% Midterm exam 2
Written Final Exam 40% scheduled according to University calendar
Homework assignments:
Homework will be assigned and graded. All homework assignments will be given with a strict deadline, and students are required to submit their assignments on or before the deadline. Cheating will not be tolerated لن يتم التسامح مع الغش مطلقا .
Quizzes:
In-class quizzes will be given throughout the semester to assess the desired course outcomes.
Continuous Evaluation Exams:
There will be 5 exams each one conducted during a lab session for 2 hours under supervision of the lab instructor. Each exam will consist of a single programming problem. The student will be presented with a detailed problem statement and asked to write, compile and run a full java program to solve the problem. The answer-program should be written using Eclipse (or any other IDE available for students in the lab). Unlike during regular lab sessions, the student should not expect any help from the lab instructor.
Midterm:
2 Midterms will be given. It will be a closed book and closed note exam and will cover the studied part of the course.
Mid Term 1: It covers: from the beginning up to the conditional statements (usually scheduled in the 6th week of the term)
Mid Term 2: It covers all studied concepts but the array structure (usually scheduled in the 11th week of the term).
Final:
A comprehensive final examination will be given. It will be a closed book and closed note exam and will cover all course material.
Deadline Policy:
All homework assignments will be given a strict deadline, and students are required to submit their assignments on or before the deadline. They will be collected at the start of the class on the due date, and late submissions will not be accepted. In case of extenuating circumstances, students are advised to contact the professor as soon as possible. You are encouraged to discuss the course and the assignments with each other; however, your exams and homeworks should be your own work.
Attendance Policy: Attendance will be taken. Attendance will be graded as cited above, and may be used as a deciding factor when final average is between grades. The following rules are made by the collage and we will follow them strictly:
- Anyone with absence of 25% or more will be barred from entering the final exam, NO EXCEPTIONS will be made.
- NO medical excuses should be accepted as a way for deducting the number of absence days (25% of allowed absence in a Semester is actually there for the purpose of such health or other emergency circumstances). A medical excuse may only be used in the case that a student misses an exam (to allow for a make-up exam), however, the absence should still be counted.
- The college will be very strict in applying these rules this Semester
Computer usage:
All homework assignments or project documents should be submitted using MS-Word and/or appropriate computer software. No hand written submission will be accepted لن يقبل أي واجب مكتوب بخط اليد.