CS144: Web Applications

http://www.cs.ucla.edu/classes/winter15/cs144/

Winter 2015


Time and Place

Hours: Every Monday and Wednesday, 2:00PM - 3:50PM
Location: WGYoung CS76

Lab Time

Hours: Every Friday, (1A) 12:00PM - 2:00PM, (1B and 1C) 2:00PM - 3:50PM, and (1D and 1E) 4:00PM - 5:50PM
Location: 1A at MS 5128; 1B at Boelter 5249; 1C at Royce 160; and 1D and 1E at Boelter 5264

Exam

Final: Friday, March 20, 2015, 3:00PM - 6:00PM

Instructor

Name: Junghoo "John" Cho
Email: cho [at] cs [dot] ucla [dot] edu
Office: 3531H Boelter Hall
Office hour: Monday 1PM - 1:50PM

TA

Name: Luis Angel Larios Cardenas
Email: Please write a *private* post in cs144 forum (or langel [at] cs [dot] ucla [dot] edu)
Office: BH 3815
Office hour: Wednesday 11:30AM - 12:30PM at BH 2432, also by appointments


Name: Zijun Xue
Email: Please write a *private* post in cs144 forum (or xuezijun [at] ucla [dot] edu)
Office: 3551 Boelter Hall
Office hour: Monday 4:30PM - 5:30PM at BH 3551, also by appointments


Name: Aige Song
Email: Please write a *private* post in cs144 forum (or aigesong [at] ucla [dot] edu)
Office: BH 2432
Office hour: Tuesday 12:00PM - 02:00PM at BH 2432, also by appointments

Books

The class does not have a required text book, but students may find the following books helpful for reference: We will also provide pointers to relevant online/offline materials as the class progresses.

Course Description

Developing today's Web applications requires knowledge on a number of diverse topics, including the basic Web architecture, XML, relational database, information retrieval, security and user models. Traditionally, these topics have been taught in different subdiscplines of computer science, so students had to take a fair number of courses to learn the basic concepts necessary to build effective and safe Web applications. The goal of this class is to teach students the most important concepts for building Web applications and give them the first-hand experience with the basic tools for such a task.

The topics that will be covered in the class include:

To help students digest the materials learned in the class, we will assign a quarter-long class project (which will be divided into multiple subparts), in which students have to build a Web service and a Web site that help users navigate an eBay data. The dataset together with the basic tools will be provided on the class Web site.

Prerequisites

CS143 is a required prerequisite to this class. In addition, students should feel comfortable with the basics of the following topics:

Students should have access to a computer on which they can install software packages.

We will assume students are already proficient in Java or are able to learn it during the quarter. While this may sound unreasonable expectation, please note that Java is easy to learn for the students familiar with C++. We will provide links to online resources to help you learn the language for the project.

Grading

The final grade will be assigned based on the following criteria:

Note that project counts 60%. The final grading will be done based on the curve. Roughly 30% students will get A, 40% B and the remaining 30% C or D.

Academic Integrity

At http://www.studentgroups.ucla.edu/dos/students/integrity, the Office of the Dean of Students presents University policy on academic integrity, with special attention to cheating, plagiarism, and student discipline. The policy summaries don't specifically address programming assignments in detail, so we state our policy here. In order to earn any points on your coursework, you must turn in this signed agreement.

Each of you is expected to submit your own original work, or the original work of your two-student team in the project. On many occasions it may be useful and have an educational value to ask others (the instructor, the TA, or other students) for hints or help, or to talk generally about programming strategies. Such activity is both acceptable and encouraged, but you must indicate any assistance (human or otherwise) that you received. Any assistance received that is not given proper citation will be considered plagiarism. So where do we draw the line? We'll decide each case on its merits, but here are some categorizations:

Acceptable:

Unacceptable:

In any event, you are responsible for coding, understanding, and being able to explain on your own or as a team all project work that you submit.

Be especially careful about giving a copy of your work to a friend who "just wants to look at it to get some ideas". Frequently, that friend ends up panicking and simply copies your work, thus betraying you and putting you through the hassle of an academic discipline hearing. The Dean has additional advice.

You must abide by this policy in addition to the policies expressed in the UCLA Student Conduct Code. If a violation of the policies is suspected, in accordance with University procedures, we will have to submit the case to the Dean. A typical penalty for a first plagiarism offense is suspension for one or more quarters. A second offense usually results in dismissal from the University of California.

Alternate Exams

Please note that routine alternate exams will not be offered in CS144. The university strongly discourages students from enrolling in two classes given at the same time, and instructors are under no obligation to accommodate such students. If you provide an extraordinarily compelling case then an alternate exam may be given, but alternate exams are always oral exams given by the instructor privately in his office.

Online discussion group

All students must join and utilize CS144 discussion group at piazza.com by following this link. This online discussion group will be the primary channel for students to ask course and project related questions and for others, including the TA, to answer them. Note that some of your questions may have already been discussed and answered by others, so please search the board first before asking a question. When you join the discussion group, you may choose to receive email notifications for new messages or just to read them on the board. You are responsible for all your posts to Piazza. Thus, please do NOT post any content that might be considered as a violation of honor codes, such as your source code to the project. If you have any doubt or concern, please ASK the TA/lecturer before posting it.