[CMSC 437] | [Syllabus] | [Lecture Notes] | [Homework] | [Projects] | [Files] | [Notes, all]

CMSC 437 GUI Programming Syllabus, Summer 2017

Class schedule, topic and assignments

Monday and Wednesday 6:00-9:00 ENG 122

You will run your homework in class.

Subject to change.

Lec Date   Subject                                 web pages     Homework
                                                   and Notes   assigned due
 1. 5/31   Introduction
           What is User Interface
           Where is User Interface used            Lect 1      HW1
           Overview of X Windows, Motif-Lesstif,   
           OpenGL-Mesa, Microsoft Windows, Linux,
           MacOSX, Java applications and applets.
           Python graphics, TK, QT, WX, HTML5, real 3D,
           Game consoles, Smart Phones, Automotive, etc.

 2. 5/31   Examples and sample files               Lect 2
           Installation and
           edit, compile and run a program.        Start
           Project information                     Project

 3. 5/31   Colors and Graphic images.              Lect 3
                                                   Lect 3a


 4. 6/5    Multiple Windows and Motion             Lect 4
           Help to pick your project               Project
 
 5. 6/5   Menu design and implementation.          Lect 5       HW2


 6. 6/5    Getting user data, text and numbers.    Lect 6
           Basic mouse input.

 7. 6/7    Text sizes and fonts,                   Lect 7             HW1
           internationalization, phones, pods, pads

 8. 6/7    Writing and restoring users work        Lect 8

 9. 6/7    Review 1                                Lect 9
           User Controls                           Lect 9a
           Graphical select, delete, move, front, back.
           Snap to grid.

10. 6/12    Quiz 1                                 Lect 10


11. 6/12   Pan and zoom, scroll bars               Lect 11     HW3
           Rubber band sizing.

12. 6/12   Timing                                  Lect 12            HW2

13. 6/14   User motion controls                    Lect 13

14. 6/14   Varieties of Targets                    Lect 14

15. 6/14   Parallelism in your GUI                 Lect 15

16. 6/19   3D with motion                          Lect 16     HW4

17. 6/19   Kinematics and timing                   Lect 17

18. 6/19   User Interface for Platform             Lect 18

19. 6/19   Review 2                                Lect 19
           Capturing Screen                        Lect 19a

20. 6/21   Quiz 2                                  Lect 20

21. 6/21   Visualizing higher dimensions           Lect 21     HW5

22. 6/21   Hiding in the shadows                   Lect 22            HW3

23. 6/26   HTML5, javascript, CSS                  Lect 23            HW4
           practice projects, screen, hookup 

24. 6/26   Windowing Systems                       Lect 24     HW6

25. 6/26   3D with glasses and without             Lect 25
           Definitions and equations
           presentation and demonstration of projects

26. 6/26   Real 3D, zoom                           Lect 26

27. 6/28   Color Scale                             Lect 27            HW5
           presentation and demonstration of projects

28. 6/28   Output graphics as JPEG, xx.jpg  and    Lect 28            HW6
           PostScript, xx.ps  and PNG, xx.png               

29. 6/28   Review                                  Lect 29           Project
           presentation and demonstration of projects

No class 7/3  holiday  7/4

30. 7/5   Quiz 3  6:00 ENG 122                     Lect 30
           presentation and demonstration of projects
           All homework and projects due. submit cs437 proj file1 file2   etc.


    No late homework or project accepted after midnight of final exam

    submit  cs437  proj  your-file or files 
                         (executable and graphics not needed)

Other links

Many web sites on Java GUI, AWT, Swing, etc.
Many web sites on Python wx, tk, qt, etc.

Last updated 6/19/2017