CENG 211

Programming Fundamentals

Prerequisites: CENG 113

Control Structures, Classes and Methods, Inheritance, Polymorphism, Interfaces, Exception Handling, Streams and File I/O, Recursion, Dynamic Data Structures and Generics.

Course Objectives

To provide students with the ability of object oriented programming

To teach object oriented software design at beginners level

To teach object oriented coding of fundamental algoritms and data structures

To teach Java API definition and use at intermediate level

To provide students with the ability of simulation programming.

Recommended or Required Reading

Walter Savitch; 2012; “Java: An Introduction to Problem Solving and Programming”; 6th Ed.; Upper Saddle River, NJ: Prentice-Hall; ISBN 0-273-75142-5 ,Deitel&Deitel; “Java How to Program”; 9th Ed.; Upper Saddle River, NJ: Prentice-Hall; ISBN 0-273-75976-0

Learning Outcomes:

Upon the completion of this course a student :

1. Apply the operations for maintaining common data structures in object-oriented way
2. Design algorithms in object-oriented way for solving computing problems
3. Know and compare different programming approaches
4. Analyze problems, design and implement solutions
5. Demonstrate the ability to abstract in object oriented context
6. Apply computer engineering methods to real world problems

Topics
Introduction to Object Oriented Programming
Control structures and data storage
Classes, objects, and methods
Classes, objects, and methods
Inheritance
Polymorphism
Midterm
Abstract Data Structures
Java API programming
Exception and error management
Object oriented analysis and design
Design and code with UML class diagrams
Simulation programming
Repetition of important topics and evaluation of the period

Grading

Midterm 25%

Quiz 20%

Homework 20%

Final 35%

Instructor(s)

Professor