CENG 443 Introduction to Object-Oriented Programming Languages and Systems Syllabus • Instructor – Assistant Dr. Cevat Şener – Nilgün Dağ • Prerequisite Basic knowledge of an Object-Oriented PL (Java preferred) 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. S. Bodoff, E. Armstrong, J. Ball, D.B. Carson. The JEE Tutorial. Addison-Wesley Prof. J. McGovern et al. Java 2 Enterprise Edition Bible. John Wiley & Sons. • 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, Threading Basics, Reflection New Features Enhancements, Generics, Concurrency Object-Oriented Design Principles Database Connectivity Serialization Remote Method Invocation Internals and Optimization Security Issues Introduction to Enterprise Applications For the course capacity, the departmental rules will apply only...!