Syllabus for

Web Programming

COSC 436/540

(10:00-11:45, M/W PH520)

Instructor: Matt Evett ; Dept. Computer Science; Pray-Harrold 512
Tel: 734-487-1227;
e-mail: mevett AT-sign emich.edu;
Course web site: http://canvas.emich.edu/
Office Hours: See mattsHours.txt and mattsScripts.js, and by appointment.
You may drop by at times other than office hours, but in that case I cannot guarantee that I'll be able to see you. Please feel free to e-mail me to set up an appointment. Prerequisite: (COSC 231), COSC 311 and COSC 341.

Textbook:

Course Summary: Students successfully completing the course will be familiar with the major technologies used in web-sites, and should be able to create web pages that interract with server-side components (databases, etc.) at a basic level. The course contains several small to mid-size programming projects, and a final exam.

On-line Access:

You must be registered for the online component of this course at canvas.emich.edu. This is the official mechanism for distributing information about the course, including changes to assignments (such as due dates). All students in the class are required to attend to emuonline.

Graduate Students: Students registered for the 500-level version of this class will be expected to complete more difficult versions of the programming assignments. Their exams will also be graded at on a tougher scale.

Course Calendar:

Tentative due dates for projects and midterm exam are underlined. Actual due dates should always be found via Canvas.
 
Date Text Topics Projects due
9/4 Ch. 1 Intro. to HTTP and internet  
9/9, 11 Ch. 2, 3 Web basics, HTML Simple web page
9/16 (on-line), 18 Ch. 3,4 Style Sheets, CSS  
9/23, 25 Ch. 5, 7 Forms, CSS Layout Web page using CSS
9/30, 10/2 Ch. 8, 9 JavaScript  
10/7,9 Ch. 9 Event Handling Javascript 1
10/14, 16 Ch 10 JavaScript and jQuery Javascript 2
10/21, 23 Ch 10 Dynamic pages with JavaScript and AJAX Midterm Exam
10/28, 30 Ch 11 PHP and the server-side Javascript 3
11/4, 6 Ch 12, 13 PHP Arrays, Object-oriented PHP  
11/11, 13 Ch  14 Databases, SQL, noSQL PHP project
11/18, 20 On-line classes Ch 15 Handling errors MySQL project
11/25, Thanksgiving Ch 16 Managing state, cookies  
12/2, 4 Handouts Development Frameworks  
12/9, 11   Review Web DB Project
12/16, 9:30   Final Exam Final Exam

 

Grading Policy:

The final course grade will be a weighted average of the grades received in each of the following categories, as specified: Assignments 60%, Midterm Exam 20%, Final Exam 20%

Tardiness Policy: Programming and other homework assignments will be due at the beginning of class. After that, assignments will be accepted through the start of the next scheduled class, but will suffer a full grade penalty. E.g., if a late programming assignment is worthy of an 'A', I will mark it a 'B'. Assignments more than one class late will not be accepted, and will receive a grade of 'F'.

Attendance Policy: We're all grown-ups, when and whether you attend class is up to you. However, missed assignments shall only be excused by a doctor's written note, verifying that the student was medically indisposed to attend class that day.

Grading of Programs: Grading of programming assignments will reflect three factors, weighted as shown.

  1. (80%) Correctness -- does the program run correctly.
  2. (10%) Style -- does the code adhere to class documentation standards? Is the code indented properly? Are the variable names mneumonic? How well has the student followed the basic formatting characteristics for the language?
  3. (10%) Design -- is the program adequately decomposed (i.e., are the functions and procedures small enough to be comprehensible)? Are the class and structure definitions well chosen? How well has the student taken advantage of the language's capabilities?

Announcements and the Web Page:

Students should view canvas.emich.edu regularly for announcements regarding programming assignments, readings, etc.

Academic Irregularities:

Students are required to attend to the policy on academic irregularity outlined in the EMU student handbook. In addition, collaboration among students in solving programming and homework assignments is forbidden. If I receive programs or homework assignments that are substantially equivalent, or which are not the original work of the student submitting the material, I will not hesitate to punish all involved parties to the fullest extent, up to and including assignment of a failing grade for the course, and referral to the Office of Judicial Student Services for possible punitive action at the University level, which may include expulsion from the University. In addition, the University and the Computer Science Department maintain policies regarding proper behavior on its computer systems. Failure to adhere to these policies can result in loss of computer privileges, and possible legal action.