CENG 211
Programming Fundamentals
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%