If you can’t explain it simply,
you don’t understand it well enough.
— Albert Einstein
Syllabus Schedule GMU policies My home page
update: January-2022

SWE 432: Design and Implementation of Software for the Web
Course Syllabus — Spring 2022

Professor: Jeff Offutt
Email: offutt@gmu.edu
URL: cs.gmu.edu/~offutt/
Office: 4430 Engineering Building
Office hours: Wednesdays 3:30-5:00
or by appointment
Zoom hours: Fridays 1030am-1130am
Class hours: Tue 4:30-7:10
Class location: Horizon 2009
Prerequisites: CS 321 & Math 125
GTA:
Office hours: Mondays noon-200pm
Location: ENGR 4456

UTA:
UTA:

overview | grading | policies | miscellaneous

Overview

TEXTS

CATALOG DESCRIPTION
A comprehensive introduction to the design and implementation of software applications for the web, including client and server-side development. Exploration of principles for the design of web applications that are robust, scalable, and secure; that enable change and reuse; and that are usable for their intended purposes. Topics include client-server communication, asynchronous programming, persistence, security, web development tools, the document object model, templates and data-binding, interaction techniques, and site design for the web.

LEARNING OUTCOMES
  1. Knowledge of quantitative engineering principles for how to build software user interfaces, especially web-based user interfaces, that are usable by humans with minimal or no training
  2. Understanding the client-server and message-passing computing models in the context of web applications
  3. Knowledge for how to build usable, secure, and effective web applications
  4. Theoretical and practical knowledge about how data are stored and shared in web applications
  5. Component software development
  6. Understanding that usability is more important than efficiency for almost all modern software projects, and often the primary factor that leads to product success

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, and how to separate and connect front-end user-facing software with back-end business processing software. 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. The class will be hands-on and require several small programming assignments.
overview | grading | policies | miscellaneous

Grading

GRADING FORMULA

GRADED ASSIGNMENTS
Homework assignments will include a mix of programming and writing. Unless stated otherwise, you can collaborate with up to two partners. Assignments will be posted on the class schedule page and clarifications and hints will be posted on the discussion board. You may discuss the assignments on the discussion board and even share pieces of code, although not complete solutions. Most submissions will be electronic.
Timeliness: Assignments are due before class (430pm) on the stated due date. Submissions will be accepted after the due dates with the following deductions: (1) a maximum score of 80% for two weeks, (2) a maximum score of 50% from two weeks until the beginning of final exams. Per GMU policy, all assignments must be submitted before the beginning of final exams.

WEEKLY QUIZZES
Quizzes will be given the first 10 or 15 minutes of class and the readings will cover material from the previous class meeting and from the reading assigned for that day. Re-take policy: students who miss or perform badly on a quiz can have one retake per quiz.
  • Scoring: The maximum score on a retake quiz is 80%.
  • Replace: If you take the retake, your new score will count and the first score is dropped.
  • Scheduling: Students who want to retake a quiz must schedule ahead of time.
  • Times & locations: To be announced on piazza.
  • Content: The retake quiz will differ from the in-class quiz, but will cover the same topics.
  • Timing: The retake quiz must be taken within two weeks of the original in-class quiz. All retakes must be completed before the end of the reading period.

PARTICIPATION
You earn participation points in three ways: (1) attending class (1 point each class meeting), (2) submitting in-class exercises (1 or 2 points for each exercise), and (3) contributing to discussions on the discussion board (1 point for each meaningful contribution). The exact number of total points possible will depend on the number of in-class exercises. I will calculate the total number of points that could be earned if you only miss one week of class and submit every in-class exercise, and define that to be 100% participation. Students with more points will be ceilinged at 100%.

IN-CLASS EXERCISES
I strongly believe that active exercises during class meetings enhance learning. Dr. Ammann has a good summary of why. Thus, we will have in-class exercises every class meeting. Some will be done in small groups, and a few may be individual exercises. They count towards your participation grade and earn 1 point for a minimal effort or 2 points for a strong effort. They will be announced during class.

EXCUSED ABSENCES FOR ILLNESS
An absence can be excused if you are ill (covid, flu, cold, etc.) or have an emergency, and you document your reason for your absence. For example, a covid test result is acceptable documentation. If you have an excused absence, you will receive the attendance point and can submit in-class exercises electronically (I will give instructions on piazza).

RECORD KEEPING
The TAs and I will use Blackboard to maintain RAW scores and attendance data. I compute grades according to this syllabus in a private spreadsheet. There is a column in BB labeled “TOTAL”: Ignore it; it’s meaningless for this class. (BB will not allow me to disable or hide this column.) We will not update retake quiz scores on BB but will return them in class. If you see an error in the BB records, please inform us.
overview | grading | policies | miscellaneous

Policies

READINGS
Readings, as given on the schedule page, allow you to understand the concepts and the theory behind the applications. I expect you to read, and assure you that the readings are needed to perform at an A level on the exam and quizzes. The lectures may not cover everything in the readings and will often include material not found in the readings.

DISCUSSION BOARD USE
All students will be enrolled in the discussion forum for SWE 432 on piazza. You will receive an invitation via your Mason email. We will use the discussion board throughout the semester. Ask all technical questions about the material or the assignments on piazza. You can also post about software failures, errors in the books or slides, or about topics that extend from our classroom discussion.

IN-CLASS COMPUTER USE
Computers will be used extensively during in-class exercises, discussions, and examples, but lectures in this class will be computer free. Computers, whether in the form of laptops, tablets, mobile phone, or pocket-computers, may not 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, my concentration, and your learning. 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 politely step out. I will ask you to close your computers, and if that doesn’t work, will ask you to leave the classroom.

EMAIL
I send course announcements to your Mason email account, so you must read it regularly. Professors are required to use your Mason email, not personal email accounts. When you send email to the professor or TA, please start the subject with “swe 432.” If not, we may not prioritize it. Questions about the technical material and class policies should be posted on the discussion board, not sent through email.

OFFICE HOURS
Office hours are times that I commit to being in my office, door open, 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 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.

TECHNOLOGIES USED
You will need access to a computer and stable wifi for this course. We will use several free technologies: Java J2EE (you can use your favorite IDE or editor), web browsers, blackboard, piazza, zoom, github, socrative, google, and dropbox. You will need accounts for several services, but will not need to purchase anything.
overview | grading | policies | miscellaneous

Miscellaneous

ELECTRONIC PRESENCE
I always accept linkedin requests from current and former students—we clearly have a professional relationship. (Be sure to remind me when you took my class.) I tweet random thoughts irregularly about software engineering @jeffoffutt. Out of respect, I do not initiate facebook requests from students, but usually accept them.

HONOR CODE STATEMENT
As with all GMU courses, SWE 432 is governed by the GMU Honor Code. In this course, all graded submissions carry with them an implicit statement that it is the sole work of the author or authors, including joint work when explicitly authorized. When 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 need academic accommodations, please contact the Disability Resource Center (DRC) at 993-2474 and fill me in on what you need. All academic accommodations must be arranged through the DRC.

OTHER USEFUL CAMPUS RESOURCES
Writing Center: A114 Robinson Hall; (703) 993-1200; https://writingcenter.gmu.edu
University Libraries “Ask a Librarian”: https://library.gmu.edu/ask
Counseling and Psychological Services (CAPS): (703) 993-2380; https://caps.gmu.edu

Top