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 II 2 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: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 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: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 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: 1. Advanced Widgets and event handling a. Spin buttons, progress bars, range widgets b. Toolbars, tool tips, status bars c. Scrolling containers d. Calendars Chabot College Course Outline for Computer Science18G Fall 2002 2. 3. 4. 5. 6. Graphics, colors and fonts a. Styles and how they affect widgets b. Using fonts, the font dialog c. Handling images d. GDK drawing routines GNOME a. GNOME development environment and its directory tree b. Allowing for foreign language translation in an application c. Storing and retrieving application configuration information d. Interacting with the X-windows session manager GNOME Dialogs a. GnomeDialog object (as an extensible dialog template) b. GnomeMessagebox c. Adding an About box to your application d. Building a property dialog GNOME Widgets a. GNOME Calculator widget b. Using a button to invoke color and font dialogs c. Specialized data entry with GnomeEntry d. Druids (roughly like Microsoft Wizards) More GNOME a. Saving and loading configuration with config files b. Accessing sound services c. Adding online help d. Accessing the Internet from within a program Methods of Presentation: 1. 2. Lecture In-class example programs with explanations and demonstrations Assignments and Methods of Evaluating Student Progress: 1. Typical Assignments a. 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 Page 2