This course seeks to familiarize students with various data structures. Topics include: Abstract Data Types (ADTs); implementation of data types as data structures using Object-Oriented Programming; advanced file processing; static and dynamic data structures; recursion; sorting and searching methods; and elements of trees and graphs.

Students learn the principles of designing and building graphical user interfaces. Topics include Graphical User Interface (GUI) Programming. GUI Programming Languages – Principles and Practice in Designing and Building GUI’s. Advanced Programming Environments. IDE Tools, Event-Driven Programming, MVC framework, Layout Management, User Input Validation, Localization and Internationalization, 2D Graphics/Painting, Database connectivity, Networking and Web Integration, and Error Handling. User Interface Components – Window Systems, Widgets, Main Windows, Buttons, Text-Boxes, Check-Boxes, Radio-Buttons, Menus, Icons, Status Bars, Dialogs.

Pre-requisite: CMPS2131 & CMPS2111