CSCI2254 Web Application Development

The web connects our society, providing enormous opportunities for changing and improving how we live every day from sharing information to interacting with others. We have witnessed the power of the web through a variety of web-based applications, including social media apps like Instagram and Twitter, productivity apps like Google Docs and Slack, as well as transportation apps like Uber and Lyft. These apps are now deeply emersed in our everyday lives and drastically changed how we communicate, work and move in recent years.

In this course, students will learn how to develop responsive and interactive web applications. We begin by learning basics including HTML, CSS, Javascript, as well as advanced client-side frameworks such as Material-UI and React.js. We will also briefly touch on server-side issues including a web server (Node.js), data storages (Web Storage, MongoDB, and Firebase), and asynchronous communication between a client and a server. The course will culminate with a final project where students take a human-centered design approach to address the need of people by building a sophisticated web application.

Time: MoWe 4:30-5:45 pm
Location: Carney 303
Submission: Canvas
Q & A: Piazza

Prerequisites
CSCI 1101 (CS I) + Strong enthusiasm for developing useful apps for people! Independence and willingness to take the initiative to learn and spend extra time to study on your own. The course can give you a structure but cannot cover all minor details.

Textbooks
There is no required textbook. Reading materials will be available online.

Teaching Staff

Instructor: Nam Wook Kim
Office: St. Mary's Hall S256
Office Hour: MoWe 5:45-6:45 pm, reserve a 15 min slot at least 30 min in advance.

Teaching Assistant: Tiffany Wang

Teaching Assistant: Pedro De Almeida Rosa Guimaraes

If you want to communicate with the course staff, please make a private Piazza post by selecting Post to: Instructors and entering Instructors.

Learning Objectives

By the end of this course, students will be able to:

  • Understand a technology stack necessary for modern software development.
  • Design and build usable and useful web-based applications addressing real-world needs.
  • Apply a human-centered design process from discovering ideas to implementing and evaluating prototypes.
  • Schedule

    All
    Next
    Lectures
    Labs

    Logistics


    Lectures & Labs

    Most classes are structured with a brief lecture on the technical knowledge and a workshop-like lab in which the instructor provides a live coding demo and students follow the demo. Please bring laptops to all lab-based classes.

    Readings & Quizzes

    Each class will assume that you have completed pre-class readings. There will be quizzes due before the class to test your readings.

    Weekly Assignments

    Each weekly assignment will build up towards one of the following projects:

    1. Portfolio website

    You will use vanilla HTML, CSS, and Javascript to build your personal Portfolio website.

    2. Social Media app

    You will use advanced web development frameworks such as React to build a simple social media app.

    3. Final Project

    You will follow a human-centered design process to identify an interesting problem faced by people and build a web-based application to address the need.

    Grading

    A student’s grade will be based on:

    A letter grade is assigned based on the following guideline (A is excellent; B is good; C is satisfactory; D is passing but unsatisfactory; F is failure):

    Policies & Practices


    Course Policy

    Laptop policy
    Bring laptops to all class meetings. However, students may not use laptops, tablets, phones or other electronic devices during lectures, especially in guest lectures, unless explicitly asked to do so.

    Attendance
    Attendance is not tracked but you may miss critical tips and advice for completing assignments. You may end up spending much more time if you tackle the assignments alone. Also, interacting and practicing with your peers is a critical part of your learning.

    Late submission policy
    10 % of the total possible points will be automatically deducted per each late day. The lowest grade possible is set to 60%.

    Example:
    If you submit 8 days late to an assignment worth 10 points, your grade would be 2 points if you were awarded full credit on the assignment (8 days late x 1 point deducted per day = 8 point late Penalty). However, based on the 60% lowest grade possible, your grade will be adjusted to 6 points.

    Regrade policy
    Fair and transparent grading is important. Please contact us know if you think there is an error or unreasonable deduction in your assignment. Only regrading requests within 7 days after the initial grade are accepted.

    Accessibility

    If you have a disability and will be requesting accommodations for this course, please register with either Dr. Kathy Duggan (dugganka@bc.edu), Associate Director, Connors Family Learning Center (learning disabilities or AHD) or Dean Rory Stein, (rory.stein@bc.edu), Assistant Dean for students with disabilities, (all other disabilities). Advance notice and appropriate documentation are required for accommodations.

    Academic Policy

    Students are required to adhere to the academic policy of Boston College.

    Commitment to Inclusion

    It is our intention that students from all diverse backgrounds and perspectives be well-served by this course, that students’ learning needs be addressed both in and out of class, and that the diversity that students bring to this class be viewed as a resource, strength, and benefit. It is our intent to present materials and activities that are respectful of diversity: gender, sexuality, disability, age, socio-economic status, ethnicity, race, and culture. Your suggestions are encouraged and appreciated. Please let me know ways to improve the effectiveness of the course for you personally or for other students or student groups.

    Code of Conduct

    We follow ACM Code of Ethics, focusing on the following:

    • Demonstrate professionalism (e.g., being on time and respect in teamwork)
    • Promote a fair, inclusive, and collaborative learning environment
    • Reject behavior that strays into any form of harassments

    Hall of Fame

    🏆: Best project     🏅: Honorable mention

    2020

    Yuezhen Chen, Anran Du, Jun Shan, Yingjian Wu
    Adam Del Castillo, Esther Lee, Tommy Suh