Object-oriented Programming Languages

advertisement
Identification
Subject
Department
Program
Term
Instructor
E-mail:
Phone:
CMS 420 – Object-oriented Programming Languages
– 4KU /8ECTS credits
Computer Science
Undergraduate
Spring, 2013
Rajab Davudov
radjab@gmail.com
070 201 13 65
11 Mehseti str. (Neftchilar campus), Room #401N, Thursday
18:20-21:00
by appointment
Office hours
CMS 204 - C Programming Language, CMS 215 – Data Structure
English
Required
Core textbook:
Classroom/hours
Prerequisites
Language
Compulsory/Elective
Required textbooks
and course materials
Java How to Program (early objects) plus MyProgrammingLab with Pearson
eText -- Access Card (9th Edition), Harvey M. Deitel, Paul J. Deitel, Prentice
Hall, 2011.
Supplementary textbook:
1. Java How to Program, 7th Edition, Harvey M. Deitel, Paul J. Deitel,
Prentice Hall, 2007.
2. Building Java Programs, 2nd Edition, Stuart Reges, Marty Stepp,
Pearson.
Course website
Course outline
This course introduces object-oriented programming using Java. Course covers
topics such as OOP Principles, Classes and Objects, Inheritance,
Polymorphism etc.
 Object-Oriented Programming Principles
 Java Fundamentals and Control Statements
 Eclipse Integrated Development Environment
 Classes, Objects, Inheritance, Polymorphism
 Arrays and Java Collections
 Files and Streams
 Introduction to Java Database Connectivity (JDBC)
 Introduction to Java Server-Side (Web) Programming
Course objectives
Course’s goal is to introduce OOP principles and application of them using
Java programming language.
Learning outcomes
By the end of the course the students should be able:


Teaching methods
To design and develop Java program
To use the concepts of OOP in various areas
Lecture
Group discussion
x
x
Evaluation
Policy
Experiential exercise
Simulation
Case analysis
Course paper
Others
Methods
Midterm Exam
Case studies
Class Participation
Assignment and
quizzes
Project
Presentation/Group
Discussion
Final Exam
Others
Total
 Preparation for class
x
x
Date/deadlines
Percentage (%)
20
20
20
40
100
The structure of this course makes your individual study and preparation outside
the class extremely important. The lecture material will focus on the major points
introduced in the text. Reading the assigned chapters and having some familiarity
with them before class will greatly assist your understanding of the lecture. After
the lecture, you should study your notes and work relevant problems and cases
from the end of the chapter and sample exam questions.
Throughout the semester we will also have a large number of review sessions.
These review sessions will take place during the regularly scheduled class
periods.

Withdrawal (pass/fail)
This course strictly follows grading policy of the School of Engineering and
Applied Sciences. Thus, a student is normally expected to achieve a mark of at
least 60% to pass. In case of failure, he/she will be required to repeat the course
the following term or year.

Cheating/plagiarism
Cheating or other plagiarism during the Quizzes, Mid-term and Final
Examinations will lead to paper cancellation. In this case, the student will
automatically get zero (0), without any considerations.

Professional behavior guidelines
The students shall behave in the way to create favorable academic and
professional environment during the class hours. Unauthorized discussions and
unethical behavior are strictly prohibited.
Tentative Schedule
Weeks
Date/Day
(tentative)
1
14.02.2013
2
21.02.2013
3
28.02.2013
07.03.2013
4
14.03.2013
5
28.03.2013
6
04.04.2013
7
Topics
Introduction to course
 About lecture
 Introduction of course materials
 Installation of Java SDK
 Setting up development environment
Introduction to Java Applications
 Object-Oriented Programming
Languages
 Object-Oriented Programming
Principles
 Introduction to Java
 First program in Java
 Introduction to UML
Introduction to Objects and Classes
 Objects and Classes
 Methods and Fields
 Java Data Types
 Constructors
Control Statements and Arrays
 Selection Statements
 Repetition Statements
 Logical Operators
 Declaring, Creating and Using Arrays
 Variable Length Argument Lists
Deeper Look: Methods and Classes
 Static methods and Static fields
 Method Call Stack
 Access Modifiers (public, private)
 Overloaded Constructors
 Garbage Collector in Java
Inheritance
 Introduction to Inheritance
 Java Method Binding
 Access Modifiers (protected)
Polymorphism
 Introduction to Polymorphism
 Abstract classes and abstract methods
 instanceof Operator
 final Classes and final Methods
11.04.2013
8
Midterm Exam
18.04.2013
9
Introduction to Java GUI: Swing
 Introduction to Swing
 Simple GUI Components
 GUI Event Handling and Listeners
Textbook/Assignments

25.04.2013
10
02.05.2013
11
12
10.05.2013
13
23.05.2013
14
30.05.2013
15
30.05.2013
Containers and Layouts
2D Graphics and Exception Handling
 Introduction to Graphic Context and
Graphic Objects
 Color and Font Control
 Java 2D API
 Exception-Handling Overview
 Java Exception Hierarchy
 finally Block
 Declaring New Exception Types
Introduction to Files and Streams
 Files and Streams
 Class File
 Object Serialization
Java Data Structures, Searching and
Sorting
 Type-Wrapper Classes
 Auto-boxing and Auto-Unboxing
 Linked Lists, Stacks, Queues, Trees
 Searching Algorithms
 Sorting Algorithms
Generics and Java Collections
 Introduction to Generics
 Overloading Generic Methods
 Generic Classes
 java.util Package
 Class Properties
 Synchronized Collections
Multi Threading
 Introduction to Threads
 Creating and Executing Threads
 Thread Synchronization
 Interface Runnable
Introduction to JDBC and Server-Side
Applications
 Relational Databases and SQL
 Connection to Databases
 Prepared Statements
 Callable Statements
 Transaction Processing
 HTTP
 Introduction to Java Web Technologies
 Sample Web Application using Java
Web and JDBC
Final Exam
16
This syllabus is a guide for the course and any modifications to it will be announced in advance.
Download