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
1. Convert a problem definition into a programming challenge
2. Devise a data structures-based solution to this challenge
3. Implement the solution in a robust and efficient way
4. Test and improve your solution/implementation
Recommended or Required Reading
Absolute Java, Global Edition, 6/E, Walter Savitch, Kenrick Mock, Pearson, 2016
Starting Out with Java: From Control Structures through Objects, Global Edition, 6/E, Tony Gaddis, Pearson, 2016
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 Java – I |
| Introduction to Java – II, File I/O |
| Defining Classes-I |
| Defining Classes-II, Arrays |
| Enumerations, ArrayList |
| Inheritance |
| Polymorphism |
| Midterm Exam |
| Abstract Classes, Interfaces, Abstract Data Types |
| Enumerations with Methods, Inner Classes |
| Exception Handling, Generics |
| Collections |
| Object-Oriented Design, UML Class Diagrams |
| UML Sequence Diagrams, UML Statechart Diagrams |
| Final Exam |
Grading
Midterm 25%
Quiz 20%
Homework 20%
Final 35%





