CENG546 OBJECT-ORIENTED PROGRAMMING LANG.&SYS.
Course Code: | 5710546 |
METU Credit (Theoretical-Laboratory hours/week): | 3 (3.00 - 0.00) |
ECTS Credit: | 8.0 |
Department: | Computer Engineering |
Language of Instruction: | English |
Level of Study: | Graduate |
Course Coordinator: | Lecturer Dr. CEVAT ŞENER |
Offered Semester: | Fall or Spring Semesters. |
Course Objectives
At the end of this course, students will be able to:
- Use major object-oriented technologies and tools that are covered in the course.
- Apply major object-oriented design principles when designing software systems.
- Point out the advantages and disadvantages of various object-oriented solutions.
- Evaluate and compare existing system designs in terms of flexibility and modularity.
- Identify and revise components of existing system designs for better performance.
- Create UML class diagrams to model software systems with realistic requirements.
- Design and implement object-oriented software solutions to realistic problems.
Course Content
Introduction to object-oriented programming languages, programming with Smalltalk, programming with C++.
Course Learning Outcomes
Student that pass the course satisfactorily will be able to:
- Use a widely accepted high-level programming language, e.g. Java, C# and C++.
- Identify, define, describe, illustrate, explain, articulate and elaborate on the fundamental terminology, concepts, principles and methods of computational models and systems.
- Design computer-based systems with realistic requirements.
- Analyze, compare and differentiate between computational models and systems by identifying, assessing and reasoning about their advantages and disadvantages.
- Use a widely accepted modeling language, such as UML.
- Create computer-based system architectures with moderate complexity.
- Design and implement algorithms, heuristics and supporting data structures as packaged components.
- Analyze the power and limitations of abstract models of computation.