Fundamentals of Web Applications: Winter 2016 Course Outline
Course Information
- Course Number: COMP 2406
- Term: Winter 2016
- Title: Fundamentals of Web Applications
- Institution: Carleton University, School of Computer Science
- Instructor: Anil Somayaji (anil.somayaji at carleton.ca): Tuesdays 12:30-2 and by appointment in HP 5137
- Teaching Assistants: (office hours in HP 1170)
Abdulrahman Mufti (AbdulrahmanMufti at cmail.carleton.ca): Mondays 1-2:30 PM
Alexandra Steau (AlexandraSteau at cmail.carleton.ca): Wednesdays 10-11:30 AM
Jagger De Leo (jaggerdeleo at cmail.carleton.ca): Fridays 1-2:30 PM
Muhammad Tareen (muhammadtareen at cmail.carleton.ca): Mondays 9:30-11 AM
Sharrulatha Kathirvel Kasi Chettiar (sharrulathakathirvel at cmail.carleton.ca): Wednesdays 2-3:30 PM
Steven Porretta (StevenPorretta at cmail.carleton.ca): Thursdays 4-5:30 PM
William (Lee) Croft (LeeCroft at cmail.carleton.ca): Thursdays 9:30-11 AM - Lectures: Tues. and Thurs. 2:30-4 PM in UC 231
- Tutorials (in HP 4155):
Wednesday 4-5:30 PM (Alexandra, Sharrulatha, Steven)
Thursday 11:30 AM-1 PM (Lee, Sharrulatha, Steven)
Friday 11:30 AM-1 PM (Jagger, Lee, Muhammad)
Monday 11:30 AM-1 PM (Abdulrahman, Alexandra, Muhammad) - Course Website: http://homeostasis.scs.carleton.ca/wiki/index.php?title=Fundamentals_of_Web_Applications_(Winter_2016)
Official Course Description
An introduction to Internet application development that emphasizes the computer science fundamentals of the technologies underlying web applications. Topics include: scripting and functional languages, language-based virtual machines, database query languages, remote procedure calls over the Internet, and performance and security concerns in modern distributed applications.
Grading
Grades for this course will be divided as follows:
- 20% for assignments (lowest grade dropped)
- 20% for tutorial participation
- 25% for the Midterm Exam (February 11th, 2016)
- 35% for the Final Exam
Optionally you may do a project in lieu of the assignments. This project may be individual or a group project. To do this you must inform the instructor that this is what you are doing by the due date for the third assignment. (Note that the project option is only recommended for advanced students with significant experience developing web applications prior to this course.)
Communication
The course web page is the canonical source of information on this course. Please refer to it for updates. When significant changes are made to this document it will be either announced in lecture and/or posted in the course discussion forum.
Course discussions will be on cuLearn. While you may discuss assignments there, do not post answers to assigned questions.
You may get an account on this wiki so you can edit content here. Email Prof. Somayaji to get one with your preferred username and email address to which a password should be sent. (Note this is not a requirement.)
Collaboration
Collaboration on all work is allowed except for the midterm and final exams. Collaboration, however, should be clearly acknowledged. Further, all submitted work should be your own. While you may get help from others and even collaboratively solve technical problems, the code and answers should all be your own work. For example, you may not divide an assignment into parts, give a part to another student or anyone else to solve, and then submit that work as your own. You have to have participated in the creation of every part of your submitted work.
An easy way to make sure this happens is never share files regarding coursework or copy and paste answers into email. Instead, meet together to work on an assignment and then separate to write up your solutions.
Similarity between submitted assignments that has not been appropriately documented will be treated as plagiarism - the same as copying on a midterm or a final- and will be submitted to the Dean for disciplinary action.
Course Notes/Multimedia
Audio and sometimes video from lectures will be available via the lecture pages linked below. These same pages will also contain student-contributed notes.
For each lecture you enter reasonable quality notes, you will get 2% extra credit towards your final grade. You may do this up to three times, giving you up to 6% added to your final grade. The notes will be monitored by one of the TAs, Lee Croft. Please correspond with Lee to verify that your notes are of sufficient quality to merit the extra credit. He will post the notes to the wiki directly.
Required Textbooks
There are no required textbooks for this course. However, there are the following suggested texts:
- JavaScript: The Good Parts by Douglas Crockford.
- Learning Node by Shelley Powers.
- MongoDB: The Definitive Guide by Kristina Chodorow (1st or 2nd ed).
These books have not been ordered by the University bookstore. You may buy them online in paper or ebook form. They are also available through Safari Books Online. There is even an interactive version of Crockford's book which includes an embedded JavaScript interpreter. You can get access to Safari Books Online through the Carleton Library (four concurrent users only) or partial access by becoming a member of IEEE Computer Society.
University Policies
Student Academic Integrity Policy
Every student should be familiar with the Carleton University student academic integrity policy. A student found in violation of academic integrity standards may be awarded penalties which range from a reprimand to receiving a grade of F in the course or even being expelled from the program or University. Some examples of offences are: plagiarism and unauthorized co-operation or collaboration. Information on this policy may be found in the Undergraduate Calendar.
Plagiarism
As defined by Senate, "plagiarism is presenting, whether intentional or not, the ideas, expression of ideas or work of others as one's own". Such reported offences will be reviewed by the office of the Dean of Science.
Unauthorized Co-operation or Collaboration
Senate policy states that "to ensure fairness and equity in assessment of term work, students shall not co-operate or collaborate in the completion of an academic assignment, in whole or in part, when the instructor has indicated that the assignment is to be completed on an individual basis".
Please see above for the specific collaboration policy for this course.
Academic Accommodations for Students with Disabilities
The Paul Menton Centre for Students with Disabilities (PMC) provides services to students with Learning Disabilities (LD), psychiatric/mental health disabilities, Attention Deficit Hyperactivity Disorder (ADHD), Autism Spectrum Disorders (ASD), chronic medical conditions, and impairments in mobility, hearing, and vision. If you have a disability requiring academic accommodations in this course, please contact PMC at 613-520-6608 or pmc@carleton.ca for a formal evaluation. If you are already registered with the PMC, contact your PMC coordinator to send me your Letter of Accommodation at the beginning of the term, and no later than two weeks before the first in-class scheduled test or exam requiring accommodation (if applicable). After requesting accommodation from PMC, meet with me to ensure accommodation arrangements are made. Please consult the PMC website for the deadline to request accommodations for the formally-scheduled exam (if applicable) at http://www2.carleton.ca/pmc/new-and-current-students/dates-and-deadlines
Religious Obligation
Write to the instructor with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website: http://www.carleton.ca/equity/
Pregnancy Obligation
Write to the instructor with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website: http://www.carleton.ca/equity/
Medical Certificate
The following is a link to the official medical certificate accepted by Carleton University for the deferral of final examinations or assignments in undergraduate courses. To access the form, please go to http://www.carleton.ca/registrar/forms