- Prioritizing Web Usability, Jakob Nielsen and Hoa Loranger, New Riders Press, 2006, ISBN-10: 0-321-35031-6.
- Programming the World Wide Web, Sebesta, Addison-Wesley, 2011, ISBN-10: 0132130815,
This course teaches students how to develop high quality software
for web applications.
The concepts of client-server computing,
theories of usable graphical user interfaces,
and models for web-based information retrieval and processing
In the past few years,
the way software is built has been rapidly changing.
As use of the world wide web has shifted
from information presentation
to information gathering
to direct customer sales (e-commerce)
to enterprise applications,
the amount and complexity of software has steadily been increasing.
This course will help students use
new models of programming and new technologies
to design and develop high quality, usable, web software.
- LEARNING OUTCOMES
- Knowledge of quantitative engineering principles for how to build
software user interfaces, especially web-based user interfaces, that are usable
- Understanding the client-server and message-passing computing models in the
context of web applications
- Knowledge for how to build usable, secure and effective web applications
- Theoretical and practical knowledge about how data are stored and shared in web
- Component software development using specific technologies including PHP,
- Understanding that usability is more important than efficiency for almost all
modern software projects, and often the primary factor that leads to product
- CONTENT & STUDENT RESPONSIBILITIES
After completing this course, students should understand how to design
usable software interfaces
and implement them on the web,
know how to build software that accepts information from users across
the web and returns data to the user,
know how to interact with database engines to
store and retrieve information.
Specific technologies that are included are
SWE 432 covers the software design, interface design,
and development side of web applications.
Programming skills are required and
students are expected to know HTML and Java or learn on their own.
The class will be very practical (how to build things)
and require several small programming assignments.
I expect you to read the relevant material before
The schedule for the readings are given on the
The lectures may not cover everything in the readings and will often include material
not found in the readings.
Some homework assignments will be written and some will require programming.
Most will allow collaboration with one
Assignments will be posted on the class website before class
and discussed in class.
You will submit your solutions by placing them on your websites
and submitting the source files through
You should submit links to executable
versions of programs,
but may not
post source files on your websites.
Posting program source on your website will be considered an honor code violation!
Be sure that you are on the class mailing list,
as refinements and hints for the assignments will be sent through email or posted on
the discussion boards.
Homeworks must be submitted before class on the day they are due.
Assignments will be checked immediately after the due date;
if you finish an assignment late,
you must inform us (professor and TA) by email when it is ready to grade.
Changing an assignment after the due date without prior permission
will make it a late submission.
We will have weekly quizzes and no midterm exam.
Quizzes will be given during the first 15 minutes of class on Tuesdays and no makeup or late quizzes
will be given.
You are allowed to miss up to three quizzes (the lowest three quiz grades will be dropped).
The 10 quizzes with the highest scores will be used to calculate the final grade.
- IN-CLASS EXERCISES
We will often have in-class exercises.
They will not be scheduled or announced ahead of time,
and most will be graded on a pass/fail basis.
Many of them will involve small group work.
- MAKEUPS & LATE SUBMISSION
Unless arrangements are worked out in advance,
missed exams cannot be made up and
10% per week will be deducted
for late submissions.
If you will be forced to miss class on the day something is due,
let me know ahead of time by email or in writing.
Per GMU policy, all homeworks and projects must be submitted before
the official end of classes (the start of finals).
- DISCUSSION BOARD USE
SWE 432 will use the Piazza
software for a discussion board.
Information for accessing our class will be provided on the first day of class.
Participation on the discussion threads will count for 5% of your grade,
which you can earn in several ways.
- Real-life software problems:
Start a discussion about a problem with a real-life web application
that is related to our class
(usability, design, construction, etc.)
- Start a thread about an error in the book or slides,
or about a topic that goes beyond what we discuss in class
- Post questions to an appropriate thread and
they will be answered by your instructor, TA, or classmate
(Basic questions are encouraged, but only "interesting" questions will earn credit)
- Be the first to give a correct answer to a classmate's question
- IN-CLASS COMPUTER USE
Lectures in this class will be in a computer-free learning zone
Computers, whether in the form of laptops, tablets, or mobile phone/pocket-computers,
be used while I am lecturing.
I have a
detailed explanation why
but here is the short summary:
Computers interfere with
your classmate’s ability to concentrate on the educational material,
Multitasking is a myth promulgated by inefficient people.
Taking notes by hand is much more effective than typing notes on a computer.
If you have to check your email or text messages,
or take a phone call,
please sit near the door so you can unobtrusively step out.
I will ask you to close your computers,
and if that doesn’t work,
will ask you to leave the classroom.
(Computers may be used during breaks,
during examples and discussions,
and other times when I stop lecturing for discussion or examples.)
- OFFICE HOURS
Office hours are times that I commit to being in my office,
first come, first served.
You do not need an appointment,
and no appointments are made.
If you cannot make my office hours, then we can try to set up an appointment.
Please note that I have lots of family commmittments,
so I am seldom available after 5:00 pm.
I will inform you in class or on the discussion board if I have to miss office hours.
- ELECTRONIC PRESENCE
I tweet random thoughts irregularly about software engineering
I always accept linked in
requests from current and former students—we clearly have a professional relationship.
I do not initiate
requests from students, but usually accept them.
After the course is over might be less awkward.
- HONOR CODE STATEMENT
As with all GMU courses,
SWE 432 is governed by the GMU Honor Code
In this course, all
assignments, exams, and project submissions
carry with them an implicit statement that it is the sole work of the author or authors,
unless joint work is explicitly authorized.
Help may be obtained from the instructor or other students to understand
the description of the problem and any technology,
but the solution, particularly the design portion,
must be the student's own work.
If joint work is authorized,
all contributing students must be listed on the submission.
Any deviation from this is considered an Honor Code violation,
and as a minimum, will result in failure of the submission
and as a maximum, failure of the class.
- OFFICE OF DISABILITY SERVICES
If you are a student with a disability and you need academic accommodations,
please see me and contact the
Disability Resource Center
(DRC) at 993-2474.
All academic accommodations must be arranged through the DRC.
- OTHER USEFUL CAMPUS RESOURCES
I occasionally send important announcements to your Mason email account,
so it is imperative that you read it regularly.
Email sent to the professor or TA should have a subject that starts with “swe432;”
if not, we may not notice it.
General class questions should be posted on the discussion board,
not sent through email.
The grading formula will be:
5% discussion board participation,
5% in-class exercises,
25% the weekly quizzes,
35% the homework assignments,
30% closed book, in-class, comprehensive final exam,
(the lowest three quiz grades will be dropped; allowing for missed classes).