Chabot College Fall 2002
Removed Fall 2006
Course Outline for Computer Science 18G
Linux Gnome and GTK+ Programming II
Catalog Description:
Computer Science 18G - Linux Gnome and GTK+ Programming II2 units
Advanced topics in Linux GUI programming using Gnome and GTK+. Advanced widgets, toolbars, numeric widgets, fonts, graphics, introduction to GNOME. Prerequisite: Computer Science 18F (completed with a grade of C or higher). 1.5 hours lecture, 1.5 hours laboratory.
Prerequisite Skills:
Before entering the course the student should be able to:
- identify the major components, data types, and data structures provided by the GTK+/Gnome libraries, GLib, GDK, GTK+, ImLib, etc;
- develop an application in C using the GTK+/gnome libraries;
- use Gnome widgets in a C-language application under Linux;
- use the basic window tools provided in the GTK+: windows, combo boxes, etc.;
- handle the most common events in a GUI environment from within a C program: mouse actions, signals, keystrokes, etc.;
- set the size, position, layout, and captions on windows;
- add controls such as buttons to a window;
- use a packing box to organize controls;
- add widgets to a window;
- use widgets to add labels, input text boxes, toggle buttons, check buttons, radio buttons and frames to a window;
- use list and bulk data widgets in a windowing application;
- use dialog boxes in a window;
- use a menu in a window.
Expected Outcomes for Students:
Upon completion of the course the student should be able to:
- use spin buttons, progress bars, range widgets, toolbars, tool tips and status bars in a windowing application;
- respond to an adjustment event in a scroll bar;
- create a scrolling container to add scrolling to lists or other widgets;
- use the basic image handling tools in a window: graphics, colors and fonts;
- describe the GNOME extensions for GTK+;
- use config files and command-line parameters inside windowing programs in C;
- use GNOME dialogs (about boxes, message boxes and property boxes) in a program;
- use GNOME widgets (calculator, color/font dialogs, extended entry, Druids) in a program;
- access sound devices from within a program;
- add online help to an application;
- access Internet functions from within a GNOME application;
- use the GNOME canvas to handle drawing shapes and manage colors in a program;
- use the GNOME Integrated Development Environment to manage multi-file projects;
Course Content:
- Advanced Widgets and event handling
- Spin buttons, progress bars, range widgets
- Toolbars, tool tips, status bars
- Scrolling containers
- Calendars
Chabot CollegePage 2
Course Outline for Computer Science18G
Fall 2002
2.Graphics, colors and fonts
a.Styles and how they affect widgets
b.Using fonts, the font dialog
- Handling images
- GDK drawing routines
- GNOME
- GNOME development environment and its directory tree
- Allowing for foreign language translation in an application
- Storing and retrieving application configuration information
- Interacting with the X-windows session manager
4.GNOME Dialogs
- GnomeDialog object (as an extensible dialog template)
- GnomeMessagebox
- Adding an About box to your application
- Building a property dialog
5.GNOME Widgets
- GNOME Calculator widget
- Using a button to invoke color and font dialogs
- Specialized data entry with GnomeEntry
- Druids (roughly like Microsoft Wizards)
- More GNOME
- Saving and loading configuration with config files
- Accessing sound services
- Adding online help
- Accessing the Internet from within a program
Methods of Presentation:
1.Lecture
- In-class example programs with explanations and demonstrations
Assignments and Methods of Evaluating Student Progress:
- Typical Assignments
- Small programming assignments illustrating main points from lecture
1)Create programs that draw windows with various tools
2)Create a program that opens and closes several windows
2.Methods of Evaluating Student Progress
a.Midterm exam(s)
b.Optional short quizzes
c.Final Exam
Textbook(s) (Typical):
Beginning GTK+/GNOME Programming, Peter Wright, Wrox Press, 2000
Special Student Materials:
Computer lab fee
Diskettes
Optional zip disk
Revised: July 2001
Keith Mehl
CS 18G Outline Fall 2002
hps