UMass Lowell Dept. of Computer Science

COMP 4620 — GUI Programming II

Spring 2016 Semester, Section 201

Prof. Jesse M. Heines

What Determines Success

Course Home Page

This is the second semester of a two-semester senior capstone course.  In addition, it is a project course.  Putting these two together means that the GUI Programming course sequence is a two-semester experience that is intended to result in your working with other students to implement a program of significant size that adheres to sound user interface and software engineering practices.

Last semester dealt with creating web pages using HTML, CSS, JavaScript, and jQuery.  We will use all of these tools again this semester, but the class will be considerably different from last semester.  Rather than focusing on implementation techniques, we will focus on products: what you want to do and how you can get it done.  At this point you all have a very solid background in client-side web programming, and each of you will explore different advanced techniques as you develop your individual projects.  I learned a lot last semester from many of you, and I expect that role reversal to increase this semester as you encounter and solve problems with your projects the I have not worked with myself.  I expect everyone to continue the high level of communication we had on the course’s Piazza listserv last semester so that we can continue to learn from each other.

As demonstrated in 91.461, GUI programming goes far beyond putting windows, icons, and menus on the screen and accessing them with a pointing device.  (That level of GUI programming is called a “WIMP” interface!)  The essence of GUI programming is the U part, that is, the quality of the user’s interaction with the system.  My own programs — the ones that I really put effort into and the ones I get paid to write — are probably only 10-15% “algorithm” at most.  The rest is error-checking, contingency-handling, and documentation.  This mix, and the meticulous attention to detail that it involves, help me create programs that actually work: not only in the sense that they do not crash, but more importantly in the sense that they actually help users get a job done, even when those users make mistakes.  To verify that your programs do this, we will conduct usability tests with students who are not enrolled in this course.

The main part of your work this semester will be on a project of significant size, and that project will be undertaken with at least one partner so that you further your ability to work with others.  We will also spend some time looking at server-side programming with PHP and using MySQL databases, at least at a rudimentery level so that you can use these in your project if you like. 



This is document http://jesseheines.com:8080/~heines/91.462/91.462-2015-16s/462home.jsp.  It was last modified on Friday, August 26, 2022 at 4:05 PM.
Copyright © 2022 by Jesse M. Heines.  All rights reserved.  May be freely copied or excerpted for educational purposes with credit to the author.