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 meth­ods 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.