Skip to content

Syllabus

Course Overview

Instructors

Faculty

Graduate Teaching Assistant

     

Course Meetings & Virtual Spaces

Course Meeting Times


Virtual Course Spaces


COVID-19 Class Attendance Etiquette

As mandated by the University, please do not attend class if you are experiencing symptoms or have recently tested positive for COVID. Masks are not required but please be respectful of the space and preferences of others.


Course Description & Texts

Overview

This course will provide a comprehensive introduction to web app development, covering JavaScript, back end development, front end development, and user interface design.

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
  • Understanding that usability is more important than efficiency for almost all modern software projects, and often the primary factor that leads to product success

Prerequisites

You must be able to program using OO concepts, and have general knowledge of software engineering. The official course prerequisites can be found in the GMU Software Engineering Course Catalog. These are subject to change, so please check the catalog for the most up-to-date information. I rarely make exceptions to the listed prerequisites as they are for the benefit of students. However, if you have a compelling reason for an exception, please contact me.

Required Textbooks & Other Course Materials

There is no required textbook for this course, however, useful reading materials will be posted to the course schedule page that supplement the class lectures and will serve as appropriate reference material.

All course materials will either be freely available online, or available as a PDF on Ed Discussions.

Course Communication

Communication Policies

If you have a general question about an assignment or course content, first check the Ed Discussions Course Q/A Thread to see if someone has already answered your question. If not, post your question in the Q/A thread (under the appropriate heading), where your question will be answered either by other students or the course staff. For questions about grades or other matters, please contact the TA and instructor by email.

Students must use their GMU email account for University communications. Per University policy, I cannot respond to messages sent from a non-Mason email address. See the GMU Email webpage for more information.

Office Hours

Office hours are typically times that we commit to being in our office, door open, first come, first served. However, this fall, due to potential concerns around the Delta variant of COVID-19, office hours will be held in a Hybrid format, both virtually via Zoom, and in-person in the instructors office, at the times indicated for each instructor. If you cannot make the scheduled office hours, we are happy to make appointments. We will inform the class if we need to miss office hours.



Course Structure

Course Modality

This is an in-person course that will combine synchronous and asynchronous elements, meaning that we will meet together in person at designated a time each week, and the rest of the week’s activities and discussions will be completed according to your own schedule via Ed Discussions. All important due dates will be listed on the Course Schedule. All work will be submitted via Ed Discussions (for discussions/quizzes) or Blackboard (for assignments) unless otherwise noted by the instructor.

Note in the unlikely event that we need to pivot to online learning during the semester, I have a contingency plan for this that is detailed the course contingencies section of the syllabus.

Lecture Format

Lectures in this course will be dynamic in nature. For most classes we will have one topic to cover. Lectures on course concepts will often be followed up with in-class activities. Please bring a laptop or other personal computing device to class so that you can participate in the interactive quizzes and in-class activities (See the course technology requirements).

Class Etiquette

Given the current state of spread the Delta variant of COVID-19, it means we have to be more mindful and considerate so that we can create a fun but safe and conducive learning environment for everyone. To foster this environment, I ask the following:

  • Certain lectures will have in-class activities to help demonstrate concepts This is a time to work with your classmates and prove out ideas that are taught in the course.
  • If you have a question during lecture, please raise your hand I am happy to answer questions, but please keep it cordial and respectful.
  • Please silence an cellular phones or other devices in class This will help to ensure a respectful environment for all.

Readings

There will be reference materials and readings that accompany various lectures. All readings are listed in the Course Schedule. Material covered in the readings may appear in the midterm and final exams.

In general, I suggest reading relevant material before class meetings. The lectures may not cover all material from the readings and will often include material not found in the readings. So both reading and attending are important to your success in this class.



Course Evaluation & Assignments

Grading

Grading Scale

Your work will be graded on the following scale:

A+ 100%-97% B+ 89%-87% C+ 79%-77% D+ 69%-67%
A 96%-93% B 86%-83% C 76%-73% D 66%-63%
A- 92%-90% B- 82%-80% C- 73%-70% D- 62%-60%

Any grade below a 60% will result in failing the course.

Grading Explanation: Receiving an “A” means that you did excellent work. “A” work is clear, insightful, creative, and for code-related assignments, typically exhibits very few, if any, observable bugs. It shows an obvious mastery of course material, but also goes above and beyond demonstrating understanding. A “B” denotes very good work that clearly fulfills all assignment requirements and demonstrates solid engagement with course material. A “C” is average. This work adequately addresses the assignment but may not fully meet requirements. “C” work does not distinguish itself in terms of its insight, creativity, or uptake of course material. If you are receiving “D” or “F” grades, this is a sign that you should set up a meeting with Dr. Moran so that we can work together on a plan to help you better approach the course material.

Grading Breakdown

Assignments 50%
Mid-term exam 20%
Final exam 20%
Quizzes 10%

Assignments & Exams

Assignments (50%)

There will be 5 major assignments and will distributed over the course of the semester such that you will have two weeks to complete each assignment. Each of these assignments will help you to implement and gain experience with the different concepts and reinforce the material taught during lectures. These assignments will range from implementing simple web apps with a minimal feature set to Frontend and Backend development, to evaluating the user experience of a web app. Each assignment will be worth 10% of your final grade, meaning that all assignments taken together will make up half of the overall course grade.

In-Class Quizzes (10%)

There will be short pass/fail quizzes in class that aim to help the instructor gauge student understanding of the material. Missed quizzes cannot be made up. However, you can miss up to 3 with no penalty. Out of fairness to other students in the course, no exceptions beyond this. there will be accommodations to take quizzes virtually should you fall ill during the semester.

Midterm & Final Exam (20% & 20%)

There will be a midterm exam and a non-cumulative final exam which will be given in class, or during the specific final exam period. The exam questions will consist of multiple choice and essay-style questions wherein you will be required to synthesize concepts taught throughout the course and apply them in specific contexts. Because this exam will be administered in person they will be due by the end of the class or exam period of the questions being posted. Exams will cover material from the lectures and assigned readings.

Assignment Due Dates

All Assignments are due by the time class begins (4:30pm) on the due date indicated on the Course Schedule.

Collaboration & AI Assistant Policies

Collaboration Policy

Homeworks should be completed individually, without close collaboration with other students. You are free to discuss "high-level" ideas with other students in the class. However, you are not allowed to share code under any circumstance. If you have any doubts about this policy, ask Dr. Moran or Divesh. We are here to help!

Policy on the Use of AI Coding Tools

Recently, we have seen the introduction and proliferation of AI tools (e.g., OpenAI ChatGPT and GitHub CoPilot that are able to aid software engineers in their work. In this class, it is perfectly acceptable to make use of these AI assistants, and in fact, I would encourage students to try these tools and become familiar with them. The main reason for this is that learning to use AI effectively is an emerging and important skill for software engineers, and I will cover some basics about how to use these tools in certain lectures.

When using AI assistants, please adhere to the following policies and suggestions:

  • Put Effort into Crafting High-Quality Prompts: Tools like ChatGPT and CoPilot, while useful, have serious limitations, and hence are often incorrect. If you provide minimum effort prompts, you will get low quality results. You will need to refine your prompts in order to get good outcomes. This will take concerted effort.
  • Be Aware of AI Limitations: Even if you have crafted well-constructed prompts, do not blindly trust anything an AI assistant tool says or outputs. If it gives a snippet of code, number, or fact, assume that it is wrong unless you either know it to be correct or check it with another source. You are responsible for any errors or omissions provided by the tool, and these tools tend to work best for topics you fully understand.
  • Give the AI Tool Proper Attribution: AI is a tool, and one that you must acknowledge using. Thus, you must provide these tools proper attribution if you use them for assignments. As such, you are required to provide a paragraph or two either in a comment (for Assignment 1) or in the README file (for Assignments 2-4) explaining what you used the AI for, and what prompts you used to get the results. Failure to do this will result in a violation of GMU's Honor Code.
  • Know When to Use and Not Use AI Tools Be thoughtful about when AI tools are useful and when they are not. Don't use the tool if it isn't appropriate, or if you do not have full grasp of a given concept from class.

Late Policy & Makeups

Unless arrangements are worked out in advance, missed tests cannot be made up. For assignments, 10% will be deducted for late HW assignments turned within 24 hours of the due date, and 20% will be deducted for late HW assignments turned in after 48 hours. Assignments submitted more than 48 hours late will receive a zero.

If you become ill, if you have a family emergency, or if something else happens that prevents you from completing work on time (either assignments or exams), please communicate with Dr. Moran. We will devise a plan to help you complete work on an altered schedule.



Course Logistics

Technology Requirements

Activities and assignments in this course will regularly use the Ed Discussions learning system. Students are required to have regular, reliable access to a computer with an updated operating system (recommended: Windows 10 or Mac OSX 10.13 or higher) and a stable broadband Internet connection (cable modem, DSL, satellite broadband, etc., with at least a consistent 1.5 Mbps [megabits per second] download speed or higher. You can check your speed settings using this speed test.

Course Recordings and Privacy

All of our synchronous meetings in this class will be recorded to provide necessary information for students in this class. Recordings will be posted on the course website (for lectures).

All course materials posted to Blackboard, Ed Discussions or other course sites are private; by federal law, any materials that identify specific students (via their name, voice, or image) must not be shared with anyone not enrolled in this class.

  • Video recordings of class meetings that include audio or visual information from other students are private and must not be shared.
  • Live Video Conference Meetings (e.g. Collaborate or Zoom) that include audio or visual information from other students must be viewed privately and not shared with others in your household.

Classroom Environment

My goal is to facilitate a positive, supportive, and interactive learning environment that fosters respect for people across identities. In this class, I welcome and value individuals and their differences across race, economic status, gender expression and identity, sex, sexual orientation, ethnicity, national origin, first language, religion, age, and ability. It is this diversity that will enrich our discussions about designing effective user interfaces for all. Please reference the Mason Diversity Statement for more on the University’s commitment to diversity and inclusion.

Gender Identity and Pronoun Use

If you wish, please share your name and gender pronouns with Dr. Moran and how best to address you in class and via email. I use he/him/his for myself and you may address me as Dr. or Professor Moran.

Campus Closure

If the campus closes or class is canceled due to weather or any other concern, please check Ed Discussions for updates on how to continue learning and information about any changes to events or assignments.


Course Contingencies

Given the continuing impact of COVID-19, particularly the recent Delta variant of the virus, there is real (although hopefully unlikely) chance that we may need to switch to virtual instruction at some point in the semester. With this mind, I have in place a contingency plan for this shift to virtual instruction.

Course Lecture Modality

Should we need to move online for any reason, we will use the Zoom web-conferencing software for lectures and in-class activities. Classes will still take place at their regularly scheduled time on Tuesdays from 4:30pm-7:10pm, although via Zoom instead of in the class room. In the event of shift to virtual learning, all instructor and TA office hours will also be online. In addition to the requirements above, students are required to have a device with a functional camera and microphone. In an emergency, you can connect through a telephone call, but video connection is the expected norm.

Setting up Zoom

In order to protect the privacy of office hours, students must use their GMU zoom accounts for Zoom. Note, that our zoom meetings will require the Zoom desktop client on Mac or PC, or on an iOS or Android device, you will NOT be able to join the class meetings using the Zoom web app in your browser. You can download the latest Zoom client from this link.

Changes to Course Assignments & Exams

In the event that a shift to online learning is necessary, all homework assignments will remain unchanged. However, the midterm and final exam will change to a take-home version with short essay and programming questions that must be completed over a 24 or 48 hour period.



University Policies

Emergency Communication

If the campus closes, or if a class meeting needs to be canceled or adjusted due to weather or other concern, students should check Ed Discussions for updates on how to continue learning and for information about any changes to events or assignments.

Academic Integrity

GMU is an Honor Code university; please see the Office for Academic Integrity for a full description of the code and the honor committee process, and the Computer Science Department’s Honor Code Policies regarding programming assignments. The principle of academic integrity is taken very seriously and violations are treated gravely. What does academic integrity mean in this course? Essentially this: when you are responsible for a task, you will perform that task. When you rely on someone else’s work in an aspect of the performance of that task, you will give full credit in the proper, accepted form. Another aspect of academic integrity is the free play of ideas. Vigorous discussion and debate are encouraged in this course, with the firm expectation that all aspects of the class will be conducted with civility and respect for differing ideas, perspectives, and traditions. When in doubt (of any kind) please ask for guidance and clarification.

Accommodations for Disabilities

Disability Services at George Mason University is committed to providing equitable access to learning opportunities for all students by upholding the laws that ensure equal treatment of people with disabilities. If you are seeking accommodations for this class, please first visit http://ds.gmu.edu/ for detailed information about the Disability Services registration process. Then please discuss your approved accommodations with me. Disability Services is located in Student Union Building I (SUB I), Suite 2500. Email:ods@gmu.edu | Phone: (703) 993-2474

Diversity, Inclusion, & Anti-Racism Statement

As a member of the George Mason University community, I will work to create an educational environment that is committed to anti-racism and inclusive excellence. An anti-racist approach to higher education acknowledges the ways that individual, interpersonal, institutional, and structural manifestations of racism against Black individuals, indigenous people, and other people of color contribute to inequality and injustice in our classrooms, on our campuses, and in our communities. Anti-racist work strives to provide our community members with resources to interrupt cycles of racism so as to cultivate a more equitable, inclusive, and just environment for all of our students, staff, faculty, alumni, and friends, regardless of racial background. I believe that the work of anti-racism starts with each individual; together, students and faculty in this course will build knowledge and take actions rooted in principles of equity, inclusion, and justice that we will carry with us throughout our lives.

Religious Holidays

If you will miss one of our Zoom sessions due to a religious holiday or observance, please let me know during the first two weeks of the semester so that I can plan our sessions in terms of anticipated attendance. Recordings of synchronous sessions will be available on the Course Website and Piazza.

Title IX

George Mason University is committed to providing a learning, living and working environment that is free from discrimination and a campus that is free of sexual misconduct and other acts of interpersonal violence in order to promote community well-being and student success. We encourage students who believe that they have been sexually harassed, assaulted or subjected to sexual misconduct to seek assistance and support. University Policy 1202: Sexual Harassment and Misconduct speaks to the specifics of Mason’s process, the resources, and the options available to students.

As a faculty member and designated “Responsible Employee,” I am required to report all disclosures of sexual assault, interpersonal violence, and stalking to Mason’s Title IX Coordinator per university policy 1412. If you wish to speak with someone confidentially, please contact the Student Support and Advocacy Center (703-380-1434) or Counseling and Psychological Services (703-993-2380). You may also seek assistance from Mason’s Title IX Coordinator (703-993-8730; titleix@gmu.edu).

Emergency Procedures

All students are encouraged to enroll in the Mason Alert Emergency Notification System to receive timely warnings and notifications about incidents on campus: https://ready.gmu.edu/masonalert/. If you would like more information about emergency procedures visit http://www.fema.gov/ or http://ehs.gmu.edu/emergencymanagement/be-prepared/.

Student Services

There are a number of services on campus available to students to facilitate academic success and personal wellness. I will list links to a few of these services below. If you find that you are struggling in this course, or otherwise need assistance to guarantee your health and success during this semester, I am happy to help connect you to other campus resources. Please reach out to me.


  1. Backup Instruction (should the class need to pivot to virtual) will be conducted on Zoom Zoom Link (Requires Signing In with GMU Zoom Account) 

  2. Ed Discussions is a new type of software that we will be trialing for this semester. Think of this as a supercharged and easy to use version of Piazza 🙂