COMP17010: Object Oriented Programming 1 (2007-2008)
The aim of this course is to introduce you to object-oriented programming using the Java programming language, to give you an understanding of the object-oriented approach to software development, and to introduce the tools needed for effective software construction.
The unit introduces students to object-oriented programming and gives them experience of writing programs ranging from simple to moderate difficulty level. Students on the degree programmes Computing for Business Applications and Internet Computing develop this material further in the second year in Object-Oriented Programming 2.
Assessment of Learning outcomesAssessment is via a combination of examination (50%) and coursework (50%). The coursework will consist of regular short laboratory exercises, an extended programming exercise and short tests including multiple choice questions and programming problem.
Academic knowledgeUnderstand and explain the basic constructs and syntax of the chosen object-oriented programming language.
State the ways in which complex relationships among objects may be modelled in an object-oriented program.
Describe the programming constructs available for the construction of simple graphical user interfaces and access to external data.
Intellectual skillsDemonstrate a basic understanding of the key object-oriented concepts of encapsulation, inheritance and polymorphism and explain how these are implemented in the chosen language.
Match programming language constructs to the needs of a programming problem of moderate complexity involving collections of objects.
Subject practical skillsApply an object-oriented approach to program development.
Demonstrate an ability to design, implement and test a data processing program with a user interface.
Devise, implement and test program solutions from a well-defined problem specification or object-oriented design.
Transferable SkillsDemonstrate problem-solving ability, including the diagnosis and correction of defects and limitations in the proposed solution to a problem.
Demonstrate a competent level of self-management appropriate to the undertaking of an individual project of moderate difficulty.
Introduction to programming.
Simple overview of program development
Stepwise refinement and pseudocode
Overview of program structure.
Variable declaration and basic data types.
Simplified input and output in Java.
Precedence and associativity
Relational and logical operators
Flow of control
Compound statements, if, loops, switches.
Basic data types
Arrays, single dimension arrays
Class and instance methods
Using built-in classes and methods
Definition of methods.
Public, private, static and final variables and methods.
Constructors, variables and methods
Scope, private variables
Public getter and setter methods.
Extending classes with inheritance.
Introduction to graphics and event driven programming
Simple graphical user interfaces
Containers and components
Layout managers, event listeners.
Review of good programming practice
Style and structure
Testing and debugging.
Packages and name-spaces.
Abstraction, inheritance and interfaces.
Accessing and updating data in files.
Design of programs for sequential data processing.
It is essential that students purchase the textbook "Java in Two Semesters" by Q. Charatan and A. Kans.
Title: Java: how to program (7th edition)
Author: Deitel, H.M. and P.J. Deitel
Publisher: Prentice Hall
Title: Java in two semesters (2nd edition)
Author: Charatan, Q. and A. Kans
Title: Introduction to Object-Oriented Programming with Java, 4th ed
Author: Wu, C.T.
Title: Objects First with Java, 2nd ed
Author: Barnes, D.J. and Kolling, M.
Publisher: Prentice Hall