CSC-336 Web Programming

Syllabus

Back to Home

Course Description

Web Programming I (3) This course provides students with a strong foundation in the principles of web application development from the fundamentals to current technologies. The course focuses on back-end programming rather than website layouts and front-end design. Topics include creating interactive websites, web application architecture, server-side scripting, databases, client-server interactions, and web security. Students are introduced to specific sets of web programming tools including JavaScript, Node.JS, PhP, Python CGI, and SQL. Students gain an understanding of some of the most important technologies that underlie the popular websites they encounter every day, which is both practical for creating web apps and intellectually interesting for computer scientists. Prerequisite: CSC-208.

Course Materials

There is no required textbook for this course. Readings and references will be links provided as we go, pointing to documentation and other free resources appropriate to each topic. Illustrative code examples, written and annotated specifically for this course, will be made available for you to read and inspect as we cover each topic.

Required Equipment

You are required to bring a laptop (Mac, Windows, or Linux) to every class. We will be writing, running, and debugging code together in class, and you'll need your own machine to follow along and work on assignments.

Grades

Weekly Assignments (80%)

There will be assignments given most weeks of this course. Each assignment will be evaluated on a 0–3 point scale.

Assignment Evaluation (3 point scale)

External Resource Reliance (3 point scale)

For some assignments, a score will be given to communicate to you the instructor's assessment of how much you appear to be relying on external resources. This will not be directly factored into any grades. Instead, it is meant to help you understand how your work engages with the course material. Remember, you should not be turning in code you do not understand, and in general, should not be turning in code you did not write.

Verbal Assessment (3 point scale)

There will be at one or more verbal assessments of your understanding of the assignments given by the instructor. The instructor will decide which questions are appropriate and give an indication of 0, 1, 2, 3 as described below:

Note: A 2 is considered pretty good. That's the expected level for most assignments.

Participation (20%)

Participation is required for all students. Participation will be evaluated based on attendance, participation in class discussions, and participation in group work.

Code Understanding and Use of Generative AI

All submitted code is expected to be understandable by the author; that is, students must be able to explain their solutions and reasoning. The use of generative AI tools (such as ChatGPT, Cursor, Copilot, etc.) to produce code is strongly discouraged unless the student already has a full understanding of the concepts involved. Regardless of how the code is written, students will be required to explain all submitted code and project structures during reviews. Failure to demonstrate understanding will negatively impact grades.

Course Requirements

You are required to use Google Chrome as your primary browser for this course, both for viewing course materials and for building/testing your assignments. Chrome's Developer Tools will be used regularly in class demos, and having everyone on the same browser keeps what you see on your screen consistent with what's discussed in class.

Keyboard Commands

You are required to know and use the following keyboard shortcuts:

Get practicing!

Course Policies

Attendance is required. Late assignments will not be accepted.

University Policies and Statements

Students with Disabilities

If you wish to receive accommodations for a disability, please notify me with a Faculty Notification Letter from the Office of Student Disability Support (OSDS). As accommodations are not retroactive, timely notification at the beginning of the semester, if possible, is strongly encouraged. To register with a disability or for questions about disability accommodations, contact the OSDS at 202.885.3360 or disabilitysupport@american.edu. More information: Office of Student Disability Support.

Academic Integrity Code

Standards of academic conduct are set forth in the university's Academic Integrity Code. By registering for this course, students have acknowledged their awareness of the Academic Integrity Code and they are obliged to become familiar with their rights and responsibilities as defined by the Code. More information: Academic Integrity Code.

Discrimination, Harassment, and Title IX

American University does not discriminate on the basis of race, color, national origin, religion, sex, pregnancy or parenting, age, sexual orientation, disability, marital status, personal appearance, gender identity and expression, family responsibilities, political affiliation, source of income, veteran status, an individual's genetic information or any other bases under applicable federal and local laws. More information: Office of Equity and Title IX.

Religious Observances

Students will be provided the opportunity to make up any examination, study, or work requirements that may be missed due to a religious observance, provided they notify their instructors before the end of the second week of classes. More information: Major Religious Holy Days and Request for Religious Accommodation.

Emergency Preparedness

Should the University be required to close for a period of time, we are committed to ensuring that all aspects of our educational programs will be delivered to our students. More information: Emergency Preparedness.

Student Code of Conduct

By registering for this course, students have acknowledged their awareness of the Student Code of Conduct and they are obliged to become familiar with their rights and responsibilities as defined by the Code. More information: Student Conduct Code.

Course Content Recording

Students are not permitted to make visual or audio recordings, including live streaming, of classroom lectures or any class related content, using any type of recording devices (e.g., smart phone, computer, digital recorder, etc.) unless prior permission from the instructor is obtained, and there are no objections from any of the students in the class. More information: Syllabus Guide, Center for Faculty Excellence.

View Course Schedule