Courses Catalogue

Object-oriented Programming

COURSE CODE: CS 2101
COURSE CREDIT UNIT: 3
ACADEMIC PROGRAMME: Business Computer Science
COLLEGE/SCHOOL/FACULTY: College of Economics and Management
STATUS: Core
PROGRAMME TYPE: Undergraduate

Course Description

PURPOSE OF COURSE

Modern object-oriented programming languages are to be used and it is expected that students will familiarize themselves with one or more of Python, Java, VB.NET or C#, and will use such language(s) in the answers to their questions where the expression of an algorithm is required. Students will not be expected to write perfect working program code from memory, but should be capable of producing realistic program code. Answers expressed in the syntax of other programming languages, apart from those mentioned above, will not be accepted.

Emphasis will be on the implementation of abstract data structures using objects, with emphasis on modularity and software design.  OOP concepts: inheritance, encapsulation, polymorphism, overloading, overriding, classes and objects. Functions/Methods/Actions

 

EXPECTED LEARNING OUTCOMES

By the end of the course unit, students should be able to:

  • understand the principles of software engineering with emphasis on the various phases of the software development life cycle
  • understand the programming environment as defined by compilers, interpreters, editors, and other system software providing support for the programming activity
  • design well-structured algorithms and code them in a modern object-oriented programming language
  • understand object technology and its applications
  • explain the application of a variety of data structures, understand the advantages and disadvantages of those structures
  • design appropriate structures for a given processing environment; and
  • demonstrate a professional approach and an understanding of the ACS Code of ethics in relation to the development of software systems

In particular, a student should be competent in achieving the following using one or more of the modern object-oriented programming languages specified above:

  • applying intermediate object-oriented programming language skills
  • maintaining  the functionality of legacy code programs; and
  • maintaining custom software
  • Testing techniques, importance of echo checking the input data
  • Reasons for using special test files rather than normal data files, design of test data files
  • Documentation of test data, expected results, actual results; annotation of test run output
  • Use of interactive debugging facilities; the use of checkpoint facilities, trace and display output
  • Importance of clear programming style, choice of meaningful data and procedure names, adequate annotation
  • Understand the use of structured walkthroughs and technical reviews

Installation

  • Systems testing
  • User training and documentation

Maintenance

  • Causes for program maintenance: legislative changes, organisational changes, systems changes, error correction.
  • Management of the maintenance task.

Programming standards

  • National and international standards. Organisation standards.
  • Understand the importance of programming standards for consistency in documentation, language and style. Portability of programs.
  • External documentation. Technical documentation. User documentation.

Programming language

Language fundamentals:

  • Statement types - input, output, assignment statements, arithmetic and logical operations, control statements, data types and objects.

Documentation

  • Documentation within a program such as the use of comment statements in the source code of the chosen language.

Data abstraction