CSCI-4360 / 5360 Web Technologies

Saint Louis University

Slack Channel of the Class

Join our Slack Channel HERE for discussions, teaching points, and peer learning.

Syllabus

You may download the official class syllabus HERE.

Basic Information

If you wish, you may download a printable version of the original syllabus. However, all of that information is also on this web page and the web page will be updated as the course proceeds, whereas the printed syllabus will not.

Instructor: Flavio Esposito

Office: ISE 234 D
Email: first DOT last AT slu DOT edu
Phone: 314-977-2434
Homepage: http://www.cs.slu.edu/~esposito
Teaching Assistant: TBD
Class Website: Canvas and http://www.cs.slu.edu/~esposito/teaching/5360

Lectures

Time and Days:

11:00 am - 12:30 pm Tuesday and Thursday

Where: Bush Student Center 253

(Campus Map)

Date Range: Aug 21, 2024 - Dec 15, 2024

Eating in class is forbidden. Do not leave campus before Dec 15th.

Though attendance in class is not explicitly required, it is certainly expected. Class participation points are also computed based on quizzes that will be given before, during, or at the end of class. Lectures are designed to be interactive and class participation is most welcome; no remote attendance is allowed. These meetings will offer learning opportunities that cannot be recreated purely from readings.

For this class, there is no official textbook, but the instructor or the Teaching Assistant (usually a PhD student) will provide study references. For those who miss a lecture, information on the lecture topic can often be found on the course schedule web page or on Canvas.

Office Hours and Tutoring

Wed: After class or by appointment
For quick questions, please use our Slack channel or email the teaching assistant and always copy the instructor. Emails sent only to the instructor may be delayed.

Please notify the instructor at least 24 hours before if you need office hours. Do not expect to stop the instructor for questions after class, given the size of the class.

Tutoring Resources at SLU: Our department employs many junior/senior CS majors to help out in our department labs. Those students are also available to provide assistance with course materials at such times. Our department webpage maintains a current list of available times and locations. As stated in the section on Academic Integrity below, these tutors are an acceptable resource for help, yet you should still document both the source of the help as well as the extent, if significant.

Resources

This class uses online resources and handouts. No textbooks are required. However, a good textbook for our lectures on React is: Learning React: A Hands-On Guide to Building Web Applications Using React and Redux by Kirupa Chinnathambi

Course Overview and Learning Objectives

The course introduces the underlying concepts and principles of web technologies. It covers an overview of the client-side and server-side technologies of web development, as well as some of the algorithmic notions that govern the modern web, such as e-commerce, web privacy and security, and auctions for web advertising. From the practical point of view, the course provides hands-on experience with interactive web application development.

At the completion of this course, students will be able to:

  • navigate the protocols and standards that underlie the web;

  • design and implement interactive, portable, and secure web applications;

  • use server-side technologies to implement a web service;

  • develop and execute a testing plan for a web site or application;

  • acquire familiarity with algorithmic notions that drive the web.

Course Prerequisites and Expectations

  • For CSCI 5360, CSCI 5030: Principles of Software Development is a prerequisite.

  • For CSCI 4360, CSCI 2300: Object-Oriented Software Design is a prerequisite.

  • Solid programming skills in a high-level language (such as C, C++, Java, Python) are required. If the instructor provides a skeleton of code in some language as part of an assignment, you will be expected to incorporate your code in that language to implement specific functions. In this case, the code is mostly straightforward and does not need knowledge of advanced features of the language.

  • A rudimentary understanding of software engineering and operating systems is required.  You are expected to already have the background to read and understand code, write and debug reasonably large (1000-line) programs, and learn new syntax and apply it without much difficulty. You are also expected to learn new tools/programs and run them to test and analyze code. If you are in doubt of your background, please talk to the instructor.

Preliminary Lecture Outline

Topical Outline:

  1. Architecture and protocols of the web: HTTP/HTTPS, QUIC, TCP, UDP, DNS and fundamentals of networking driving the Web

  2. Client-side technologies: JavaScript, jQuery, HTML5, DOM, CSS, React

  3. Server-side technologies: Node.js, Linux Containers, Serverless Computing

  4. Algorithmic aspects of the web: e-commerce, A/B testing, auctions for ads

  5. Web security: digital signature for the web, DNS security

  6. Algorithmic aspects of the web: e-commerce, PageRank, auctions for web ads

Grading Criteria

Grading Criteria

  • Written, Programming Assignments, and In-class Quizzes: 40%

  • Exams: 60 (usually 3 exams each counting 20 or 2 exams counting 30%)
    All exams will be closed books and closed notes, except for your own handwritten (single-page) 8.5”x11” cheat sheet (front and back).

Letter Grades

Student percentage above 93% will result in a grade of A or better.
Student percentage above 90% will result in a grade of A- or better.
Student percentage above 87% will result in a grade of B+ or better.
Student percentage above 83% will result in a grade of B or better.
Student percentage above 80% will result in a grade of B- or better.
Student percentage above 77% will result in a grade of C+ or better.
Student percentage above 73% will result in a grade of C or better.
Student percentage above 70% will result in a grade of C- or better.
Student percentage above 60% will result in a grade of D or better.
Student percentage below 60% will result in a grade of F.

Late submission policy

Assignments submitted late will have a score reduced of 20% per day for the first 2 days after the deadline. No submissions will be accepted after the second day. Upon request to the Dean of Students (http://www.slu.edu/dean-of-students-office), students shall be given up to five (5) consecutive days (not including weekends or holidays) of excused absence for bereavement.

Technology in class

  • Cell phones are allowed in vibration mode during class. If you have a personal emergency, feel free to step out quietly from the classroom and take the call. Cell phones are not allowed during exams. Recording audio or video (frames) during class is not allowed in this class. Learning how to take notes effectively is useful: train for that.

  • Laptops: There should be a computer for each student during practical sessions but you may use your own.

Acceptable Generative Artificial Intelligence (GAI) Use

  • Students are permitted to use GAI tools for brainstorming ideas and drafts but not for generating complete assignments. In some assignments and some online hands-on activities, you will be allowed to use GAI, in others you will not be allowed. In others yet, you will be asked to compare the answer that the GAI gave you with your answer, as a learning tool.

  • GAI should not be used to complete quizzes, exams, or any assessments intended to measure individual understanding unless otherwise specified by the instructor.

  • When specifically allowed in the assignment, any use of GAI must be properly cited, indicating the tool used and the extent of its contribution.

  • Unauthorized or undisclosed use of GAI will be considered a violation of the course's academic integrity policy.

Student Success Center

In recognition that people learn in a variety of ways and that learning is influenced by multiple factors (e.g., prior experience, study skills, learning disability), resources to support student success are available on campus. The Student Success Center assists students with academic-related services and is located in the Busch Student Center (Suite, 331). Students can visit www.slu.edulife-at-slustudent-success-center/ to learn more about tutoring services, university writing services, disability services, and academic coaching.

Disability Accommodations

Students with a documented disability who wish to request academic accommodations must formally register their disability with the University. Once successfully registered, students also must notify their course instructor that they wish to use their approved accommodations in the course.

Please contact the Center for Accessibility and Disability Resources (CADR) to schedule an appointment to discuss accommodation requests and eligibility requirements. Most students on the St. Louis campus will contact CADR, located in the Student Success Center and available by email at accessibility_disability@slu.edu or by phone at 314.977.3484. Once approved, information about a student’s eligibility for academic accommodations will be shared with course instructors by email from CADR and within the instructor’s official course roster. Students who do not have a documented disability but who think they may have one also are encouraged to contact to CADR. Confidentiality will be observed in all inquiries.

University Writing Services

Students are encouraged to take advantage of University Writing Services in the Student Success Center; getting feedback benefits writers at all skill levels. Trained writing consultants can help with writing projects, multimedia projects, and oral presentations. University Writing Services offers one-on-one consultations that address everything from brainstorming and developing ideas to crafting strong sentences and documenting sources. For more information, visit www.slu.edulife-at-slustudent-success-center/ or call the Student Success Center at 314-977-3484.

Title IX

Saint Louis University and its faculty are committed to supporting our students and seeking an environment that is free of bias, discrimination, and harassment. If you have encountered any form of discrimination on the basis of sex, including sexual harassment, sexual assault, stalking, domestic or dating violence, we encourage you to report this to the University. Discrimination on the basis of sex includes discrimination on the basis of assigned sex at birth, sex characteristics, pregnancy and pregnancy related conditions, sexual orientation and gender identity. If you speak with a faculty member about an incident that involves a Title IX matter, that faculty member must notify SLU’s Title IX Coordinator that you shared an experience relating to Title IX. This is true even if you ask the faculty member not to disclose the incident. The Title IX Coordinator will then be available to assist you in understanding all of your options and in connecting you with all possible resources on and off campus.

If you are pregnant or experiencing a pregnancy related condition, the Title IX Coordinator can assist you in understanding your rights and options as well as provide supportive measures.

Anna Kratky is the Title IX Coordinator at Saint Louis University (DuBourg Hall, room 36; anna.kratky@slu.edu; 314-977-3886). If you wish to speak with a confidential source, you may contact the counselors at the University Counseling Center at 314-977-TALK or make an anonymous report through SLU’s Integrity Hotline by calling 1-877-525-5669 or online at www.lighthouse-services.comslu. To view SLU’s policies, and for resources, please visit the following web addresses: www.slu.eduaboutsafetysexual-assault-resources/index.php.

Basic Needs Security

Students in personal or academic distress and/or who may be specifically experiencing challenges such as securing food or difficulty navigating campus resources, and who believe this may affect their performance in the course, are encouraged to contact the Dean of Students Office (deanofstudents@slu.edu or 314-977-9378) for support. Furthermore, please notify the instructor if you are comfortable in doing so, as this will enable them to assist you with finding the resources you may need.

Academic Integrity

Academic integrity is the commitment to and demonstration of honest and moral behavior in an academic setting. Since the mission of the University is “the pursuit of truth for the greater glory of God and for the service of humanity,” acts of integrity are essential to its very reason for existence. Thus, the University regards academic integrity as a matter of serious importance. Academic integrity is the foundation of the academic assessment process, which in turn sustains the ability of the University to certify to the outside world the skills and attainments of its graduates. Adhering to the standards of academic integrity allows all members of the University to contribute to a just and equitable learning environment that cultivates moral character and self-respect. The full University-level Academic Integrity Policy can be found on the Provost's Office website at: www.slu.eduprovostpoliciesacademic-and-courseacademic-integrity-policy.pdf.

Additionally, each SLU College, School, and Center has adopted its own academic integrity policies, available on their respective websites. All SLU students are expected to know and abide by these policies, which detail definitions of violations, processes for reporting violations, sanctions, and appeals. Please direct questions about any facet of academic integrity to your faculty, the chair of the department of your academic program, or the Dean/Director of the College, School or Center in which your program is housed.

In addition to those general statements, we wish to discuss our policy in the context of this course. When it comes to learning and understanding the general course material, you may certainly use other reference materials and you may have discussions with other students in this class or other people from outside of this class. This openness pertains to material from the text, practice problems, general syntax and use of any language or other computing tools. However, when it comes to work that is submitted for this course, you are not to use or to search for any direct or indirect assistance from unauthorized sources, including but not limited to:

  • other students in this class

  • past students, whether from this school or other schools

  • other acquaintances

  • other texts or books

  • online information other than that referenced by course materials

Acceptable sources of information include consultations with the instructor, teaching assistants, or members of organized tutoring centers on campus, as well as any materials explicitly authorized for a project description. Even in these cases, if you receive significant help you should make sure to document both the source of the help as well as the extent.

On certain assignments, we may explicitly allow students to work in pairs. In this case, conversations between partners are both permissible and required. Furthermore, both students are expected to contribute significantly to the development of the submitted work. It is unethical to allow a partner to “sign on” to a submission if that partner did not significantly contribute to the work.

Any violations of these policies will be dealt with seriously. Penalties will apply as well to a student who is aiding another student. Any such violations will result in a minimum penalty of a zero on the given assignment that cannot be dropped, and severe or repeated violations will result in an immediate failing grade in the course. Furthermore, all incidents will be reported in writing to the Department and/or the Dean, as per the College procedure.