Faculty of Engineering and Natural Sciences
Department of Information Technologies

Code Name Level Year Semester
CEN 221 Object Oriented Programming Undergraduate 2 Fall
Status Number of ECTS Credits Class Hours Per Week Total Hours Per Semester Language
Compulsory 6 3 + 2 0 English

Instructor Assistant Coordinator
Adnan Hodžić, Senior Teaching Assistant Adnan Hodžić, Senior Teaching Assistant
[email protected] no email

This course is intended to provide in-depth object-oriented problem solving. This class focuses on object-oriented design of applications. We will be using the C++ and C# programming language as a tool for implementation of specific solutions. Students will critically analyse and explore programming methodologies and apply their studies to the design and implementation of contemporary software applications. Using creativity to solve challenging problems, as well as finding the optimum solution, is expected of all students. Upon completion of the course, the student will be able to: Define and describe object, class, method, inheritance, polymorphism, and encapsulation, describe the use of object oriented analysis and design tools such as class diagrams, use cases, design and code non-trivial object oriented C# programs.

  1. Course Introduction (.NET development, C#, Visual Studio IDE)
  2. Introduction to Windows Forms; Methods and Event Handlers
  3. Exceptions, Arrays and Collections
  4. Inheritence and overloading
  5. Objects and Classes
  6. Indexers, Delegates and Events and operators
  7. Inheritence
  8. Mid-term Examination
  9. Interfaces and Generics
  10. Introduction to Database Programming
  11. Datasources and Datasets
  12. Bound Controls and Parameterized Queries
  13. ADO.NET
  14. Evaluation of Students Project


    • Lectures
    • Practical Sessions
    • Project
    • Assignments
    Description (%)
    Method Quantity Percentage (%)
    Midterm Exam(s)120
    Lab/Practical Exam(s)
    Final Exam140
    Total: 100
    Learning outcomes
    • Demonstrate knowledge of fundamental aspects of the theories, principles and practice of computing;
    • Apply theory, techniques and relevant tools to the specification, analysis, design, implementation and testing of a simple computing product;
    • Knowledge and critical understanding of the well-established principles of computing, and of the way in which those principles have developed as technology has progressed
    • Knowledge of all of the main development methods relevant to the field of computing, and ability to evaluate critically the appropriateness of different approaches to solving problems in the field of study
    • The C++ Programming Language (4th Edition); Bjarne Stroustrup; ISBN-10: 0321563840; (2013)
    • C++ Primer (5th Edition); Stanley B. Lippman; Josée Lajoie; Barbara E. Moo; ISBN-10: 0321714113; (2012)

    ECTS (Allocated based on student) WORKLOAD
    Activities Quantity Duration (Hour) Total Work Load
    Lecture (14 weeks x Lecture hours per week) 0
    Laboratory / Practice (14 weeks x Laboratory/Practice hours per week) 0
    Midterm Examination (1 week) 0
    Final Examination(1 week) 0
    Preparation for Midterm Examination 0
    Preparation for Final Examination 0
    Assignment / Homework/ Project 0
    Seminar / Presentation 0
    Total Workload: 0
    ECTS Credit (Total workload/25): 0