CSCI 3172 — Web-Centric Computing
Course Description
This course provides a solid grasp of core WWW technologies and a conceptual framework for understanding the development of the WWW and working with future web technologies. The course explores interactive and non-interactive web applications built using various technologies and architectural models. We explore the significance of Web design and programming concepts in terms of accessibility issues both from the perspective of Web robots and end-users. Students will also gain experience applying UI and UX design principles, as well as security best practices. Students are expected to already have experience using client-side technologies such as HTML and CSS.
Learning Outcomes
• Understand principles of interaction design, user experience design, web design, and connect these concepts to users’ expectations and behaviours to increase an application’s usability.
• Judge the accessibility of a given web site from the perspective of end users’ and web crawlers’, in order make decisions about a site’s Search Engine Optimization (SEO) and browser reader needs.
• Understand web security issues, and identify the interactions between the concepts of cookies, sessions, and SSL, when creating a secure web application, and make decisions of an application’s security requirements while considering its infrastructure and constraints.
• Identify and assess web user behaviour and be able to construct a well organized information architecture for a given site, in order to plan for and design for efficient task flows.
• Interact with others and apply concepts discussed in class, to build interactive, usable, secure, and accessible medium size client-server web applications.
• Be more interested in current trends, technologies, and security principles used in web application development, their security requirements, and be able to apply ethical web development principles.
Class Format and Course Communication
• Content will be delivered via a combination of lectures, labs, reference slides and interactive group exercises
• Students must ask the instructor permission before recording class lectures.
• Course announcements and deadlines will be posted to the course mail list, which comprises the instructor’s and students’ Dal emails, as well as through the course’s Brightspace site. It is the student’s responsibility to check their Dal e-mail, and Brightspace account on a daily basis. To access your Dal e-mail see:.
• Course material will be posted through the course’s Brightspace site. It is the student’s responsibility to revise the material before lectures and labs.
Evaluation Criteria
100% Individual Work
40% Labs (best 6 out of 8)
30% Quizzes (best 5 out of 6)
30% Participation
15% Discussions
15% Lecture Activities
Notes
• As of 2015, a minimum grade of C must be achieved in all required CS courses.
• The grade conversion scale in Section 17.1 of the Academic Regulations, Undergraduate Calendar will be used.
• Late assignments are not accepted. However, no penalty will be assessed for assignments that are late due to documented situations. Any grievance regarding marks must be brought to the attention of the instructor within FIVE (5) days.
• A student must achieve an overall average of 50% or higher on examinations and/or tests for the grade obtained in the examination and/or test to be taken into consideration towards the final grade. Further, the instructor reserves the right to revise all assignments and/or labs/tutorials for cases in which this requirement is not met.
General Assignment Guidelines
These guidelines suggest points to consider when preparing, writing and presenting your work. Criteria for assessment will be based on attention to these general guidelines as well as on evidence of wide reading and reflection of the topics under consideration.
• Please ensure you have read, and understand Dalhousie University policies on academic integrity.
• Written reports and assignments must follow the template available of the course’s learning management system (i.e., BrightSpace); in general, written reports and assignments are 1.5 or double spaced, pages should be numbered, font - Times New Roman 12-point size, margins – 2cm (5% deduction for any submission not matching the required format specification).
• Depending on a particular assignment, written work should have a bibliography of the items used in the preparation of the report, using the ACM or IEEE citation style only.
• Assignments are due at 23:59PM on the due date, unless specified otherwise by the instructor.
• All written assignments must be submitted electronically via Brightspace, unless specified otherwise by the instructor. The only acceptable file format for written reports is PDF (5% deduction for any submission not matching the required format specification).
The submission file for written reports, assignments and/or labs must be named as follows:
o For individual assignments: A#_LastName_FirstName.pdf
o For individual labs: L#_LastName_FirstName.pdf
o For group labs: L#_Group#.pdf
• Assignment/Lab handouts will include information on where and how to submit your files. In general, the course instructor will require for you to submit your work through Timberlea and/or FCS’ Git Lab site (https://git.cs.dal.ca/).
• For programming assignments submitted electronically through Timberlea. The URL pointing to an assignment must be named as follows:
o http://web.cs.dal.ca/~yourusername/dgin5100/l#/
Assignments/labs not accessible at the specified URL will receive an automatic grade of zero (0).
o All programming assignments, if also submitted through BrightSpace and consisting of multiple files, must be compressed into a single .zip file. The compressed file name should be as follows:
▪ For individual assignments: A#_LastName_FirstName.zip
▪ For individual labs: L#_LastName_FirstName.zip
There will be a 5% deduction for any submission not matching the required file naming specification.
• For programming assignments/labs submitted electronically through FCS’ Git Lab site, you will have to:
o Ensure lab folders are named as follows: L#_LastName_FirstName
▪ Setup your project folder as a ‘private project’
▪ Add the course Teaching Assistants (TAs) and Instructor as ‘Maintainers’ to your project, using their CS IDs (See page 1).
o All programming work, if also submitted through Brightspace and consisting of multiple files, must be compressed into a single .zip file. The compressed file name should be as follows:
▪ For individual assignments: A#_LastName_FirstName.zip
▪ For individual labs: L#_LastName_FirstName.zip
There will be a 5% deduction for any submission not matching the required file naming specification.
Required Texts and Resources
• There are no required textbooks for this course.
• Lecture and Lab/Tutorial slides and additional material (e.g., videos),will be posted on the course’s Learning Management System (Brightspace).
• Additional assistance is available from the course Teaching Assistants.
Pre-requisites
CSCI 2132 or CSCI 2134, CSCI 2141 and CSCI 2170 or INFX 2670.
Tentative List of Topics
1. Planning and Design
• Web Protocols
• Connection Handling
• Client-Server Architectures
• XML & JSON
2. Programming
• Search Engines & Accessibility
• Web Crawlers
• Document Object Model
• Services and MVC
3. Networking and Databases
• Interaction Design
• User Interface
• Information Architecture
4. Security and Performance
• Web Security
• Debugging
• Caching Systems
• Code Reusability
Plagiarism Detection Software
All submitted code may be passed through a plagiarism detection software, such as the plagiarism detector embedded in Codio, the Moss Software Similarity Detection System (https://theory.stanford.edu/~aiken/moss/), or similar systems. If a student does not wish to have their assignments passed through plagiarism detection software, they should contact the instructor for an alternative. Please note, that code not passed through plagiarism detection software will necessarily receive closer scrutiny.
Responsible Computing Policy
Usage of all computing resources in the Faculty of Computer Science must be within the Dalhousie Acceptable Use Policies (http://its.dal.ca/policies/) and the Faculty of Computer Science Responsible Computing Policy. For more information please see https://www.cs.dal.ca/downloads/fcs_policy_local.pdf
Culture of Respect2
Every person has a right to respect and safety. We believe inclusiveness is fundamental to education and learning. Misogyny and other disrespectful behaviour in our classrooms, on our campus, on social media, and in our community is unacceptable. As a community, we must stand for equality and hold ourselves to a higher standard. What we all need to do:
1. Be Ready to Act: This starts with promising yourself to speak up to help prevent it from happening again. Whatever it takes, summon your courage to address the issue. Try to approach the issue with open-ended questions like “Why did you say that?” or “How did you develop that belief?”
2. Identify the Behaviour: Use reflective listening and avoid labeling, name-calling, or assigning blame to the person. Focus the conversation on the behaviour, not on the person. For example, “The comment you just made sounded racist, is that what you intended?” is a better approach than “You’re a racist if you make comments like that.”
3. Appeal to Principles: This can work well if the person is known to you, like a friend, sibling, or co worker. For example, “I have always thought of you as a fair-minded person, so it shocks me when I hear you say something like that.”
4. Set Limits: You cannot control another person’s actions, but you can control what happens in your space. Do not be afraid to ask someone “Please do not tell racist jokes in my presence anymore” or state “This classroom is not a place where I allow homophobia to occur.” After you have set that expectation, make sure you consistently maintain it.
5. Find or be an Ally: Seek out like-minded people that support your views, and help support others in their challenges. Leading by example can be a powerful way to inspire others to do the same.
6. Be Vigilant: Change can happen slowly, but do not let this deter you. Stay prepared, keep speaking up, and do not let yourself be silenced.
University Statements
This course is governed by the academic rules and regulations set forth in the University Calendar and the Senate.
Academic Integrity
At Dalhousie University, we are guided in all of our work by the values of academic integrity: honesty, trust, fairness, responsibility and respect (The Center for Academic Integrity, Duke University, 1999). As a student, you are required to demonstrate these values in all of the work you do. The University provides policies and procedures that every member of the university community is required to follow to ensure academic integrity. http://www.dal.ca/dept/university_secretariat/academic-integrity.html
Accessibility
The Advising and Access Services Centre is Dalhousie’s centre of expertise for student accessibility and accommodation. The advising team works with students who request accommodation as a result of: a disability, religious obligation, or any barrier related to any other characteristic protected under Human Rights legislation (NS, NB, PEI, NFLD). http://www.dal.ca/campus_life/student_services/academicsupport/accessibility.html
Student Code of Conduct
Everyone at Dalhousie is expected to treat others with dignity and respect. The Code of Student Conduct allows Dalhousie to take disciplinary action if students don’t follow this community expectation. When appropriate, violations of the code can be resolved in a reasonable and informal manner perhaps through a restorative justice process. If an informal resolution cant be reached, or would be inappropriate, procedures exist for formal dispute resolution. https://www.dal.ca/campus_life/safety-respect/student-rights-and-responsibilities/student-life-policies/code-of-student-conduct.html
Diversity and Inclusion – Culture of Respect
Every person at Dalhousie has a right to be respected and safe. We believe inclusiveness is fundamental to education. We stand for equality. Dalhousie is strengthened in our diversity. We are a respectful and inclusive community. We are committed to being a place where everyone feels welcome and supported, which is why our Strategic Direction prioritizes fostering a culture of diversity and inclusiveness (Strategic Priority 5.2). http://www.dal.ca/cultureofrespect.html
Recognition of Mikmaq Territory
Dalhousie University would like to acknowledge that the University is on Traditional Mikmaq Territory. The Elders in Residence program provides students with access to First Nations elders for guidance, counsel and support. Visit the office in the McCain Building (room 3037) or contact the programs at [email protected] or 902-494-6803 (leave a message).
Learning and Support Resources
• General Academic Support — Advising
http://www.dal.ca/campus_life/student_services/academic-support/advising.html
• Fair Dealing Guidelines
https://libraries.dal.ca/services/copyright-office/guidelines/fair-dealing-guidelines.html
• Dalhousie University Library