SWE 432: Design and Implementation of Software for the Web
Syllabus — Fall 2014
This course is part of the ACS Software Engineering
and the minor in Software Engineering programs.
Syllabus Schedule

Upsorn Praphamontripong
Office: ENGR 5306
Email: upsorn's email
URL: http://www.cs.gmu.edu/~uprapham/classes/swe432/syllabus.html
Office Hours:    Tue 1:30pm - 3:30pm (Anytime electronically or by appointment)
Class hours Tuesday, Thursday 10:30am - 11:45am, ENGR 1103
Prerequisite Math 125 and CS 211
Objective 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 are covered. 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 applications
  • Component software development using specific technologies including PHP, Java servlets, Java Server Pages, Javascript, XML and JDBC
  • 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 and
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 know how to interact with database engines to store and retrieve information. Specific technologies that are included are PHP, Java applets, Javascripts, Java servlets, and XML. 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.
Reading Students are expected to read the relevant material before lecture. The schedule for the readings is given on the Schedule web page. The lectures may not cover everything in the readings and will often include material not found in the readings.
Grading policies
  • Homework assignments: 35%
  • Weekly quizzes: 30% (lowest 3 will be dropped, no makeups)
  • Discussion board and in-class participation: 5%
  • Final exam: 30%
Some homework assignments will be written and some will require programming. Most will allow collaboration with one partner. 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 blackboard. 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 me by email when it is ready to be graded. Changing an assignment after the due date without prior permission will be treated as a late submission.
Late submission Unless arrangements are worked out in advance, 50% penalties apply to 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 university policy, under no circumstances will any assignment be accepted after the official end of classes (the start of finals week).
Quizzes 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.
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 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 exercises There will be in-class exercises. Students are encouraged to work in small groups. Generally, these exercises serve for participation purpose and assist and / or allow students to hands-on web software development.
Five-minute papers At the end of some classes we will have a “five-minute paper.” You will be asked to respond in written form to a simple question related to the day's lecture. This will be graded on a “done / not done” basis and count towards participation.
Final Exam Final exam is closed book / notes, in-class, comprehensive unless specified otherwise by instructor. Appropriate documentation (as determined by instructor) and requisite permissions are required for make-up exam requests. Picture IDs are required to take all exams. Note: A failing grade on the final exam (<60%) will result in a failing grade (F) for the entire course, regardless of performance on other assignments.

If you know in advance that you are unable to make an exam for a valid and unavoidable reason (such as a scheduled surgery, etc), you must notify me at least one week before the scheduled exam date to make arrangements for a make-up, and bring documentation with you when you take the make-up. If you miss an exam due to a university-accepted excused absence (such as an illness or car accident the day and time of the exam), you must notify me within 24 hours of your absence to make arrangements for a makeup, and bring approved documentation with you when you take the make-up exam. Failure to follow either of these policies will result in a zero grade on the exam.
In-class computers
and communication
Phone calls, text messages, instant messages, email, and general web surfing are not allowed during class time. Computers may only be used to follow the material in class. Violators will have their devices confiscated or asked to leave the room.
Email Students must use the GMU email system for all correspondence with instructor (using the following email subject format: SWE 432 - insert your subject — failure to adhere to this policy will result in returned emails). Please note that general assignments or class questions should NOT be sent to the instructor — in such events, your email will be returned and you will be asked to post your question to the discussion board. In general, the turnaround time for responses to questions will be much quicker on the discussion board. Students should also avoid emailing their code to the instructor unless permission has been obtained (under no circumstances should code be posted publicly to the discussion board).
Honor Code 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.
Learning disabilities Students with learning disabilities (or other conditions documented with GMU Office of Disability Services) who need academic accommodations should see me and contact the Disability Resource Center (DRC) at (703)993-2474. All academic accommodations must be arranged through the DRC.


© Based on documents by Dr. Jeff Offutt (the original author) and Dr. Kinga Dobolyi, use with permission of the author. This document is made available for use by GMU students of SWE 432. Copying, distribution or other use of this document without express permission of the author is forbidden. You may create links to pages in this web site, but may not copy all or part of the text without permission of the original author.