Extended use of object-oriented programming, including class hierarchies, use of libraries, and the development of suitable user interfaces.
In this paper students will learn about Object-Oriented Programming and User Interfaces. Although the ideas apply across platforms, there will be a focus on software development for the Mac. We will be using Swift and the Xcode development environment. We will learn how to use the Foundation Framework for general purpose programming and the Application Kit Framework for application development. Along the way we will cover object-oriented design and user interface guidelines. At the end of the paper you should understand how to write object-oriented code, why it is good for graphical user interfaces and how to write and design applications for OS X on the Mac.
|Paper title||Object-oriented Programming and User Interfaces|
|Teaching period||Second Semester|
|Domestic Tuition Fees (NZD)||$1,038.45|
|International Tuition Fees (NZD)||$4,492.80|
- COSC 242
- Schedule C
- Arts and Music, Science
- Computer Science Adviser
- More information link
- View more information about COSC 346
- Teaching staff
- Lecturer: Dr David Eyers and Dr Stefanie Zollmann
- Paper Structure
- This paper is about design as it applies to user interfaces and object-oriented programs.
For object-oriented programming, we will cover the design and analysis of object-oriented
systems and the fundamental topics in object oriented programming (inheritance, polymorphism,
design patterns, etc). For user interfaces, topics will include types of user interface,
cognitive approaches to interface design, user profiling, interface design methodology
and user interface evaluation.
- Two 20% programming assignments 40%
- Final exam 60%
- Teaching Arrangements
- There are two 1-hour lectures and one 2-hour lab per week, plus occasional tutorials as needed.
- Jonathon Manning, Paris Buttfield-Addison, Tim Nugent (2014), Swift Development with
Cocoa, O'Reilly Media, Inc.
Timothy Budd (2002), Object-Oriented Programming (3rd edition) Addison-Wesley.
Aaron Hillegass and Adam Preble, Cocoa Programming for Mac OS X, 4th edition, Addison-Wesley.
Jenifer Tidwell (2006), Designing Interfaces O'Reilly Media, Inc.
- Course outline
- View the course outline for COSC 346
- Graduate Attributes Emphasised
- Interdisciplinary perspective, Lifelong learning, Scholarship, Communication, Critical
thinking, Information literacy, Research, Self-motivation.
View more information about Otago's graduate attributes.
- Learning Outcomes
- This paper will enable students to:
- Program in Swift and make use of the Foundation framework and the AppKit framework for building OSX applications
- Understand the differences between different object-oriented languages and understand that there is no "best" language
- Understand the strengths and weaknesses of different object-oriented languages and techniques
- Understand the fundamental techniques used in object-oriented design and programming, including: polymorphism, inheritance, design patterns, coupling and cohesion
- Appreciate the usefulness of the model-view-controller paradigm, particularly within the development of software that provides a graphical user interface
- Apply design principles to identify key positive or negative facets of user interfaces
- Develop software that presents a graphical user interface using the MacOS Cocoa API