CENG 443 Int. to Object-Oriented Programming Languages and Systems Syllabus • Instructor Dr. Cevat Şener, room: B206, e-mail: sener@ceng.metu.edu.tr • Assistant Erdal Sivri, room: A310, e-mail: erdal@ceng.metu.edu.tr • Prerequisite Basic knowledge of an Object-Oriented PL, UML and SQL is assumed. • Course objectives/goals The objectives of this course are to enable students − to use object-oriented programming concepts and constructs to represent software systems; − to understand the internal, architectural and usage aspects of the state-of-the-art methods and techniques to develop efficient, secure, robust, multi-threaded, networked, from standalone to enterprise-level object-oriented applications; − to comprehend how to apply them practically. • Grading (tentative) Attendance and participation Midterm Assignments Final 04 % 28 % 34 % 34 % • Some of the References C. Horstmann, G. Cornell. Core Java 2, Vol I: Fundamentals. Prentice Hall. C. Horstmann, G. Cornell. Core Java 2, Vol II: Advanced Features. Prentice Hall. B. Eckel. Thinking in Java. Prentice Hall. S. Potts, A. Pestrikov. Java 2 Unleashed. Sams. • Outline (tentative) Quick Review of OOP Basics with Java Primitives, expressions, statements, constructs, classes, objects, abstract classes, interfaces, inheritance, polymorphism, encapsulation, packages Advanced OOP with Java Inner classes, exception handling, garbage collection, I/O streams, generics, new features Reflection Design Principles and Patterns Threading Basics and Concurrency Database Connectivity Serialization Remote Method Invocation Virtual Machine Internals Security Overview of Enterprise Architectures • Notes For the course capacity, only the departmental rules apply. You must follow the web page as well as the newsgroup.