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.
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
the end of the course unit, students should be able to:
the principles of software engineering with emphasis on the various phases
of the software development life cycle
the programming environment as defined by compilers, interpreters,
editors, and other system software providing support for the programming
well-structured algorithms and code them in a modern
object-oriented programming language
object technology and its applications
the application of a variety of data structures, understand the advantages
and disadvantages of those structures
appropriate structures for a given processing environment; and
a professional approach and an understanding of the ACS Code of ethics in
relation to the development of software systems
particular, a student should be competent in achieving the following using one
or more of the modern object-oriented programming languages specified above:
intermediate object-oriented programming language skills
the functionality of legacy code programs; and
techniques, importance of echo checking the input data
for using special test files rather than normal data files, design of test
of test data, expected results, actual results; annotation of test run
of interactive debugging facilities; the use of checkpoint facilities,
trace and display output
of clear programming style, choice of meaningful data and procedure names,
the use of structured walkthroughs and technical reviews
training and documentation
for program maintenance: legislative changes, organisational changes,
systems changes, error correction.
of the maintenance task.
and international standards. Organisation standards.
the importance of programming standards for consistency in documentation,
language and style. Portability of programs.
documentation. Technical documentation. User documentation.
types - input, output, assignment statements, arithmetic and logical
operations, control statements, data types and objects.
within a program such as the use of comment statements in the source code
of the chosen language.