Computer Engineering
CENG 443 Introduction To Object Oriented Programming Languages And Systems


Instructor Dr. Cevat Şener,    room B-206,    e-mail sener[at]ceng.metu.edu.tr
office hours   Tuesday 13:40-15:30

Assistant Mehmet Gülek,    room A-402,    e-mail mgulek[at]ceng.metu.edu.tr
office hours   Tuesday 13:40-15:30,   Friday 15:40-16:30

Schedule Tuesday 12:40-13:30, BMB-4
Thursday 15:40-17:30, BMB-4

Prerequisite Basics of an Object-Oriented Programming Language, namely Java, is assumed.

Textbook none

  • C. Horstmann, G. Cornell. Core Java 2, Volume I: Fundamentals. 7th ed. Prentice Hall, 2004.
  • C. Horstmann, G. Cornell. Core Java 2, Volume II: Advanced Features. 7th ed. Prentice Hall, 2004.
  • B. Eckel. Thinking in Java. 4th ed. Prentice Hall, 2006.
  • S. Potts, A. Bestrikov. Java 2 Unleashed. 6th ed. Sams. 2002.
  • S. Bodoff, E. Armstrong, J. Ball, D. B. Carson. The J2EE Tutorial, 2nd ed. Addison-Wesley Professional. 2004.
  • J. McGovern et al. Java 2 Enterprise Edition 1.4 Bible. John Wiley & Sons. 2003.

Grading (tentative)
Attendance and Participation 04%
Midterm 25%
Project 30%
Assignments 11%
Final 30%

Newsgroup "metu.ceng.course.443" at https://cow.ceng.metu.edu.tr/News/

Outline (tentative)
1 Object-Oriented Programming Basics
Primitives, Expressions, Statements, Constructs, Classes, Objects, Abstract Classes, Interfaces, Inheritance, Polymorphism, Encapsulation, Packages
2 Information Hiding and Inner Classes
3 Exception Handling
4 Concurrency Issues
Multi-Threading, Synchronization
5 GUI Development
Basic GUI Components, Event-Handling, Model-View-Controller Architecture
6 I/O Streams and the Decorator Pattern
7 Database Connectivity
8 Serialization and Deserialization
9 Advanced Object-Oriented Programming Concepts
Reflection, Native Calls, Internals, Optimization, Security
10 Objects over Network
Network Support, Client-Server Approach, Client-side Objects, Server-side Objects, Remote Method Invocation, Enterprise Components

[Top of the page]

Official web site for CEng 443, METU Computer Engineering, Fall 2006-2007