The site serves, for current and former students, as a portal into a sequence of
software design courses I've taught for the last twenty five years. This page links to
descriptions of each of the courses and to folders containing presentations and code
used as an integral part of these courses.
I retired at the end of the 2019 Spring Semester. It's been a great ride. I've been
extraordinarily lucky to have met and worked with so many great people. All my students (usually about)
200 each year, are surrogate sons and daughters. I enjoyed almost every minute working with them.
I expect this site will stay up for a while after I leave, partly because on-line courses, taught by
other faculty, use this site for their lecture and project materials. I hope you find the site useful.
You will find reusable components and demonstration designs posted in my
github repository collection.
Those are documented in the corresponding github documentation site.
I started this at the end of May, 2019, with a few repositories. As of the beginning of February, 2020 there
are more than 60 repositories.
Infrastructure for this site - the collection of its pages and linking structure - has been evolving for years, and that process continues.
The goal of the site is to organize notes, presentations, demonstration
code and reusable code modules. The content is intended to supplement course lectures and you will need to make frequent references as you
take courses from the sequence described here.
Using code and notes from this website:
Most of the code linked on pages of this site has been developed with Visual Studio. I am now using Visual Studio 2017
so you will need this latest version to build a lot of the code here.
You can download the free Visual Studio Community Edition here.
There is a brief summary of Visual Studio features on that page.
May I? - Yes, you may use any code and notes you find here for the classes covered by this site. It is my intent
that you use whatever you find useful to help with your project assignments. For other courses you
must check with the instructor of that course.
There is a standard courtesy protocol you should follow (and should follow regardless of the source of the code).
If you change anything, even a single character, put your name as the author and list the original author as the
source. You thereby take responsibility for any breakage that you have caused to the code, and irate users will
descend on you, not on the innocent original author. If you don't change anything then leave the original author
For all current and former students, I am slowly putting zip archives in the various code folders, so that you can get the
entire contents simply by using the "send to" or equivalent selection on the right-click context menu in Edge, Chrome, Internet Explorer, FireFox, ...
If you don't find a zip file and are a current or former student, send me an email and I will put the archive you want in its code folder.
I taught software design courses on a regular schedule, each offered once each year:
You will find a collection of directories on the college server to provide access for
current and former students to selected notes, references, and code. Be warned
that the code was discussed in class and much of it will have meaning, only to
that class. However, feel free to browse, and download anything you wish:
Handouts. You will find links and
descriptions of much of the code here.
These folders have more content than a simple directory organization can properly
support. This site is trying to provide a grand scheme for improved
accessibility. The site is now in its twentyth year and its contents and structure are reasonably current.
Internships and Master's Theses
The Department of Electrical Engineering and Computer Science has three programs: Computer Engineering,
Computer Science, and Electrical Engineering. In all of these programs you have the
option of augmenting your Program of Study with internships and/or a Master's Thesis.
An internship is usually a full-time working experience that becomes part of your program of study. Many
students seek internships over the summer break. When you complete an internship you document that with a
report with your narrative about the assignments you've completed, the relationships you've had with people there,
and a brief discussion of the academic merit of this experience. Here is more information.
If you are interested in carrying out some original Master's-level research follow this
Yellow Brick Road.
Research and Development
Several students and I started a small research group that focused on
software complexity, accessibility and reuse. For details refer to this
This group consisted of several Doctoral students, one or two students preparing Master's
Theses under my direction, and occasionally a student doing an Independent Study. Some of this research
extended into the classroom. For example, the
CSE784 - Software Studio class has, over several years, developed
projects that implement some of the software accessibility ideas we were exploring.
From 1978 through 1990 I taught, as an Adjunct, all Electrical Engineering courses, e.g., a variety of control system
courses, digital signal processing, complex variables, linear vector spaces, etc. None of those notes
are in electronic form, and so do not appear in this site.