Monday, October 21, 2013

GUIs

Attempt at posting regularly: sort of accomplished?

Assignment 1 of this course has made me think a lot about Graphical User Interfaces (GUIs). I have worked with GUIs in all three of my computer courses, but I still don't feel like I've been 'taught' about them. Computer science courses tend to focus on the underlying concepts of programming: objects, functions, if/else, loops, etc. What I always feel is missing, is the step that brings a program with complex logic to the end user.

The days of MS-DOS are gone. Current computer users are not comfortable with the console, and many wouldn't even be able to find it if asked. We now interact with computers through buttons and fields rather than keyboard commands and everything else seems unnatural.

Creating and working with graphical interfaces is never thoroughly taught in introductory computer courses (in my experience). If they are mentioned, it is as a side-topic. "Create this program and, oh, make it with a GUI". In high school, I was taught how to design a JSwing GUI and used the automated features of Netbeans to create event handlers.

Things I would like to learn in a course:

  • Click and keypress events
  • How to make clickable buttons and text fields
  • How to design/draw an interface

Some of this crosses over into graphical design. It's more of the shiny packaging than the actual meat of a program. This is probably why it isn't taught in the introductory courses. Perhaps they have full sections on it in upper years. However, a GUI is incredibly important to any program meant to be used by the masses. Incorporating them into introductory computer science classes would give beginning programmers a vital tool.

No comments:

Post a Comment