Department of Computer Science
The University of Texas at Austin
CS 329E - Elements of Web Programming (Summer 2021)
Unique No: 86615, MWF 3:00 PM - 4:30 PM, Zoom on Canvas
Instructor: Dr. Shyamal Mitra
Office Hours: MWF 11:00 AM - 12:00 PM or by appointment
Location: Zoom on Canvas
E-mail: mitra@cs.utexas.edu
Required Text: Web Programming
Authors: Lysecky, Vahid
Publisher: Zyante
ISBN: 978-1-394-11956-1
- Sign in to learn.zybooks.com
- Use your name exactly as it appears on Canvas. Make sure
that the case matches.
- Use your UT EID exactly as it appears on Canvas. Make sure
that the case matches.
- Enter zyBook code: UTEXASCS329E86615MitraSummer2021
- Cost: $58
- Subscribe
Prerequisites for CS 329E
The is an upper division course in the Elements of Computing Certificate
series. You should have taken CS 303E and CS 313E or approved equivalent
programming courses with a grade of C or better.
Online Lectures and Office Hours
All our lectures and office hours will be delivered online on Zoom
in Canvas. Be sure that you have Zoom 5 and Duo. Login to Zoom using
your ut_eid@eid.utexas.edu. The lectures will be recorded. These
recordings are confidential and are only for educational purposes.
The recordings must not be shared in any form. Any dissemination of
the recordings is a violation of the University policies and will be
subject to Student Misconduct proceedings through the Office of Student
Conduct and Academic Integrity. All our office hours will be online
through Zoom in Canvas. The office hours will not be recorded.
Scope of the Course
This is an elective course in the Elements of Computing series. I assume
that you know Java or Python at the level taught in CS 303E and 313E.
Experience using HTML or other packages to develop web pages is not required.
This is an introductory course in understanding the technologies involved in
developing a web application. We will be writing programs to build our web
applications rather than use a content management system like WordPress or
Drupal. This is where your programming knowledge from CS 303E and CS 313E
will be extremely helpful.
Not only will we learn the technical details of building a web application,
we will also discuss and think about design issues. We will interleave our
lectures on design with discussions on technical topics during the first
half of the course. The second half of the course will be mainly technical
topics.
Learning Objectives
In this course you will do a full stack development of a web application.
You will learn how to develop both the client and server software.
- Master HTML and CSS to design the front end.
- Program a browser using JavaScript and jQuery.
- Program a server using PHP.
- Use SQL to interface with a MySQL database.
Assignments
There will be reading assignments before each lecture. The readings will
be from the text book or you might be asked to research the web. I expect
you to come to class having read the material. The class period will be
taken up in discussing the material. There will be regular exercises that
will go along with the discussion.
There will be homework assignments that will consist of problems posted on
the web. These programming assignments you can complete in the CS Lab.
You may also choose to use your own computer to work on these assignments.
The only way to learn web development is to program. Doing the programming
assignments is crucial to performing well in class. Assignments will be
given almost every week. Each assignment will have a clearly stated due
date and time. Assignments start out being easy but get harder over the
semester. If you are having considerable difficulty with Assignments 2
and/or 3, please see me immediately. The assignments will require a
substantial time commitment over several days (an average of 10 to 15
hours per week should be expected). Be sure to budget sufficient time to
complete assignments before the deadline.
The goal of some of these homework assignments will be to build sub-components
of your final project. It will be to your benefit to save all your
homework assignments.
There will be a clearly stated deadline for each assignment. This permits
grading to start promptly after the submission deadline so that assignments
maybe returned promptly. If you do not finish an assignment by the deadline
you have a maximum of two days to turn your assignment in. However, there is
a penalty of 10 points (out of 100 points) per day. Your assignment is one
day late until the midnight of the day after it is due, two days late from
then until midnight of the second day. If you still have not completed your
assignment after the second day, you need to talk to me about your particular
situation.
Final Project
The final project will involve building a web site. You will be given
temporary accounts on the CS machines to store and host your web site. You
will be working in groups of 2 or 3 for the final project. You will decide on
the content of the web site after discussing with me. The technical
specifications for the web site will be given to you. The final project will
be due on the last day of class.
Exercises
There will be assigned readings from the text and exercises that follow
the readings and exercises by the due date and time. There are no
extensions to the reading assignments.
Tests
There will be three tests and no final examination. The tests will be take
home tests but with a finite time limit of 3 hours. They will be in the
evenings and will have to be done on your computer or a computer in the
CS lab. Make-up exams will be given ONLY for an official UT conflict, and
you must submit a written make-up request with proof of conflict to the
instructor one week before the tests.
Test Schedule
Test | Date | Time |
Test 1 | Fri, 02 Jul | 6:00 PM - 9:00 PM |
Test 2 | Fri, 23 Jul | 6:00 PM - 9:00 PM |
Test 3 | Sun, 15 Aug | 6:00 PM - 9:00 PM |
Due Dates and Times
All deadlines are expressed in US Central Time. Do not wait till the last
hour and then try to beat the clock. There are times systems are taken
down for maintenance and will be unavailable for you. Be aware of this
as you schedule your work.
Grades
Your performance in this class will be evaluated using your scores for the
reading exercises, homework assignments, three tests and the final
project. The weights of each of these components are listed below:
- Reading Exercises: 15%
- Homework Assignments: 20%
- Three Tests (3): 45%
- Final Project: 20%
You can earn 5 points extra credit on the total sum of the three tests
for filling out the electronic evaluation for the class. To obtain those
extra credit points you must take a screen shot of the fact that you
completed the survey and then upload the screen shot to the appropriate
slot in Canvas.
Your final grade will be assigned after we obtain the weighted average
according to the weights as given above. Note that the average on Canvas
is not your true weighted mean. Your grade will be based on the traditional
scheme:
- A: 90 - 100
- B: 80 - 89
- C: 70 - 79
- D: 60 - 69
- F: 0 - 59
We do assign grades on the +/- system. But those finer cutoffs will be
determined at the very end after the weighted average and standard
deviation of the class are computed.
Study Groups
Please organize yourselves into study groups of ~5 students who will
meet once a week to discuss the course. Typically, you will review
the lectures, do the reading, and attempt the homework independently
before your weekly meeting with your study group. Studying for tests
together is permitted and encouraged. You may discuss solutions to
problems in simple English but you cannot exchange code for
any assignment. If you are unsure about how to work together with
your friend in a legal, helpful manner, do come and talk with us.
Remember, it is always ok to "work together" with your professor or TA!
Academic Misconduct Policy
While you are free to discuss the course material with your classmates
and are encouraged to form study groups for the exams, collaboration on
homework or programming assignments is not permitted. You will
however, be working on the project together.
Helping a friend understand the intent of a homework or programming
assignment specification is permitted. Students who work together too
closely (e.g. design their solution together) should be aware that this
is a form of cheating called COLLUSION and is subject to academic penalties.
Penalties for academic misconduct include a failing grade in this course.
The homework, tests, and project must be the work of students turning
them in. University policy (see Dean of Students' policies on
academic integrity) will be followed strictly. We will be running a
sophisticated program on all submitted assignments to detect plagiarism.
If we do detect any cases of academic dishonesty, we will assign a failing
grade to all students involved and refer the cases to the Dean of Students.
Acts that exceed the bounds defined by the approved collaboration
practices will be considered cheating. Such acts include:
- Copying solutions, code, or programs from someone else or giving
someone else your solutions, code, or programs
- Participation in a discussion group that develops a solution that
everyone copies
We urge everyone in the class to take appropriate measures for
protecting one's work. You should protect your files, homework
solution sheets, etc. as deemed reasonable.
Your Responsibilities in This Class
- Your performance in this class will be determined by you! It will
require a strong dedication to learning the material and may require a
substantial time commitment to complete the programming assignments.
- You are expected to show up on time for class and stay for the
whole lecture.
- You are responsible for all material posted to the web site and
sent to the email list. Ignorance of such material is no excuse.
- You are responsible for all material presented in the lectures.
Note that lectures will include some material that is not available
elsewhere.
- You are responsible for turning in your own work on all
assignments. Unauthorized collusion is not allowed and constitutes a
violation of the university's policies on academic integrity. See
above guidelines for more information on what is or is not allowed.
- You are responsible for protecting your work from being copied
by others.
- Your conduct in class should be conducive towards a positive learning
environment for your class mates as well as your self.
University Time Table
- 03 Jun 2021: Classes begin
- 04 Jun 2021: Last day of official add / drop
- 08 Jun 2021: 4th class day, official enrollment count is
taken
- 09 Jul 2021: No class due to exams for the first summer session
- 13 Aug 2021: Classes end
General Policies
If you are absent from class or examination for the observance of a religious
holy day you may turn in your assignment or take the examination on an
alternate date provided you have given me written notice fourteen days prior
to the class absence. For religious holy days that fall within the first
two weeks of class notice must be given on the first class day.
Students with disabilities who need special accommodations should contact
the Services for Students with Disabilities (SSD) Office (471-6259 or
471-4641 TTY).