1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
Internet Technologies
CourseCOSC 2P89
TermSpring 2026
Cross-listedAPCO 2P89 · IADM 2P89
Section01
InstructorMaysara Al Jumaily
Emailamaysara@brocku.ca
TimeRoom
Lecture (S01)Mon/Wed 10:00am – 11:20amGLA164
Lab 1Tuesday 11:00am – 12:50pmMCJ310
Lab 3Thursday 12:00pm – 1:50pmMCJ310
  • Course website: https://brightspace.brocku.ca/
  • Prerequisite: COSC 1P03 (minimum 60%), OR APCO 1P00 & APCO 1P01 (minimum 60% in both)
  • Auxiliary cost: $0.00
  • Course textbook: None
  • Software: Visual Studio Code and Node.js v22.22.2
  • Office hours: Wednesdays 2:00pm – 4:00pm in MCJ 328
  • Assignments will be due at 11:59pm on the deadline through Brightspace, and no late submissions are accepted
  • Academic Integrity is high priority. It is still important to adhere to the university's Academic Integrity policies
  • A mark of at least 40% on the Final Written Exam is required to earn the credit
    • This means you must obtain:
    • At least 40% on te Final Written Exam, AND
    • At least 50% as an overall grade in the course
  • There are nine labs in the course and you are required to attend ALL of them
    • It is important to attend the lab you are registered in. Attending a different lab without prior approval from the course coordinator will result in a mark of 0% for that lab
    • You are expected to complete most of the exercises in each lab. In case the lab demonstrator concludes your work isn't sufficient, you will not receive the grade
    • In case of an emergency or unavoidable circumstance, please contact the course coordinator as soon as possible
    • In case you miss two labs or more, it will result in an automatic failure in the course
    • Ensure to enter the lab within 15 minutes of the starting time, otherwise, you will not be allowed to enter and thus not earn the grade for it
  • The lecture notes contain the majority of the concepts of the course, but not every single detail that will be mentioned during class

Course Mark Distribution

EntryWeightDue Date
Assign 01 HTML, CSS & JavaScript10%Sunday May 31, 2026
Assign 02 TypeScript & Local Storage10%Sunday June 28, 2026
Assign 03 Angular & Firebase10%Friday July 17, 2026
Labs20%After each lab
Written Midterm15%Wednesday June 03rd, 2026
Final Written Exam30%April 22, 2026
Lecture Attendance05%Registered in-class

Important Dates

  • The Written Midterm will be Wednesday June 03rd, 2026
  • The day/time of the Final Exam is assigned by the registrar's office and will be announced later
  • Please have a look at Brock University's Important Dates page
  • Monday June 22, 2026 is the last day to withdraw from this course without academic penalty

Learning Objectives

  • Create well-structured HTML5 documents using semantic elements, forms, tables and media
  • Apply CSS and SCSS features to build responsive page layouts using selectors, the box model, Flexbox, Grid, variables and media queries
  • Write JavaScript/TypeScript code that manipulates the DOM and responds to browser events
  • Use TypeScript annotations, interfaces, aliases, functions, classes and access modifiers
  • Model data with typed objects and arrays and implement CRUD operations using local storage
  • Explain and implement asynchronous programming concepts including callbacks, Promises, the event loop, async/await, HTTP requests and error handling
  • Create Angular applications using the CLI, project structure, components, templates and binding
  • Build Angular apps with directives, dependency injection, component communication, routing and lazy loading
  • Configure Firebase services including project setup, authentication and Firestore operations
  • Use observables and RxJS operators to manage asynchronous data flows in frontend applications
  • Use Git and GitHub to manage version control for web development projects
  • Main objective: Create and publish your own portfolio website on Brock University's Sandcastle server.

The Usage of AI Models

  • Here are the parts where AI models (e.g., ChatGPT) can be used:
    • To clarify concepts and provide examples
    • To help you understand the material better
    • Complete any CSS/SCSS code
  • For assignments 01 and 02, you are not allowed to use AI models
    • You can use it for CSS/SCSS only and needs to be acknowledged in the assignment submission (continue to the next point for more details)
  • Only on Assignment 03 you are allowed to use AI models.
    • A vibe-coded assignment where the UI look and feel is important, functionality and correctness are crucial.
    • It will be graded with a high standard and creativity is expected.
  • In case any AI model is used to generate any code (CSS/SCSS, HTML, JavaScript, TypeScript, etc.), you must acknowledge it in your assignment submission.
    • You must write a report of what parts of your code used AI and why AI was used
      1. The report is something you will write yourself and should not be generated by AI models, nor proofread by them nor edited by them.
      2. It should be in your own words (even if there are grammatical errors or typos or other mistakes), you don't lose marks for imperfect writing as long as it is your own work and not generated by AI models.
    • Failure to do so will be considered as cheating and thus will be subject to the academic integrity policies of the university

Schedule of Topics

The schedule below is a rough outline for the course and may change as the semester unfolds:

WeekObjectiveLab Topic
Week 01
May 04 – May 08
Modern HTML5 and Structure
  • The History and Evolution of HTML
  • Semantic HTML Elements and Document Structure
  • Forms, Tables and Media Elements
No Lab
Week 02
May 11 – May 15
Introduction to CSS, SCSS and JavaScript
  • CSS Selectors, the Box Model, Flexbox and Grid
  • Responsive Design and Media Queries
  • SCSS Variables
  • JavaScript Syntax, DOM Manipulation and Events
HTML Tags, Forms, Tables and Media Elements
Week 03
May 18 – May 22
Introduction to TypeScript
  • Type Annotations, Interfaces and Type Aliases
  • Functions, Classes and Access Modifiers
CSS, SCSS and JavaScript
Week 04
May 25 – May 29
TypeScript and Local Storage
  • Typed Objects and Arrays
  • CRUD Operations with Local Storage
  • Assign 01 HTML, CSS & JavaScript (Sunday May 31, 2026)
TypeScript Types and Interfaces
Week 05
Jun 01 – Jun 05
Asynchronous Programming
  • Callbacks, Promises and the Event Loop
  • async/await Syntax
  • Fetch API and HTTP Requests and Error Handling
  • Written Midterm during class on Wednesday June 03rd, 2026
TypeScript and Local Storage
Reading Week
June 08 – June 12
Week 06
Jun 15 – Jun 19
Introduction to Angular
  • Angular CLI and Project Structure
  • Components, Templates and Data Binding
Asynchronous Programming with Promises
Week 07
Jun 22 – Jun 26
Angular Components and Routing
  • Modules and Dependency Injection Basics
  • Angular Directives
  • Component Hierarchy and @Input/@Output
  • Angular Router and Route Configuration
  • Lazy Loading
  • Assign 02 TypeScript & Local Storage (Sunday June 28, 2026)
Angular Project Setup and Components
Week 08
Jun 29 – Jul 03
Firebase Essentials
  • Firebase Project Setup and SDK Configuration
  • Email/Password Authentication
  • Firestore Collections, Documents and CRUD
Angular Routing and Lazy Loading
Week 09
Jul 06 – Jul 10
Miscellaneous
  • Observables and RxJS Operators
  • Git and Version Control as well as GitHub
  • JavaScript Quirks and Review
  • Other Miscellaneous Topics
Firebase Authentication and Firestore
Week 10
Jul 13 – Jul 17
Ensuring all Concepts are Covered
  • Assign 03 Angular & Firebase (Thursday July 16, 2026)
Firebase Continued
Final Written Exam Period
July 17, 2026 – July 18, 2026

Assignment/Midterm Policies

  • Assignments will be released on Brightspace. They will allow the student to familiarize themself with the material relevant to the course and is a necessary educational tool to prepare for the and Final Written Exam. The feedback will be returned within seven business days after the assignment due date
  • Assignments will be coding some exercise where you are expected to use Java as the programming language, along with following the programming standards, such as using meaningful variable names and documentation/commenting your code
  • Assignment submission:
    • It is your responsibility to ensure all the files are submitted appropriately
    • The steps for assignment submission are included at the end of each assignment instruction
    • An assignment will be due at 11:59pm (Eastern time) on the due date found on Brightspace
    • Always back up your assignments by emailing them to yourself using your Brock email
  • Late assignments:
    • No late assignments will be accepted
  • Unsubmitted assignments:
    • Unsubmitted assignments will automatically receive 0%
    • Ensure you keep track of when assignments are due!
  • Requesting a re-grade:
    • Please contact the course coordinator for a re-grade within one business week after receiving the feedback
    • The component will be re-graded completely which means the grade might be lower, higher or stay the same

Academic Integrity

  • Academic misconduct is a serious offence
  • The principle of academic integrity, particularly of doing one's own work, documenting properly (including use of quotation marks, appropriate paraphrasing and referencing/citation), collaborating appropriately, and avoiding misrepresentation, is a core principle in university study
  • Students should consult Section VII, “Academic Misconduct”, in the “Academic Regulations and University Policies” entry in the Undergraduate Calendar to view a fuller description of prohibited actions, and the procedures and penalties
  • Information on what constitutes academic integrity is available at Brock University Academic Integrity Website
  • The following are minimum penalties usually imposed in academic misconduct cases in Faculty of Mathematics & Science. Please be aware that the Associate Dean, Undergraduate Programs, may assign different penalties than those listed here, depending on the details of individual cases. Also note that cheating on exams carries significantly higher penalties:
    • First offence: Zero grade on work, additional penalty of 100% of the weight of the work to be subtracted from the final grade, mandatory completion of the A-Z Learning Services Academic Integrity workshop
    • Second offence: Zero grade on work, additional penalty of 200% of the weight of the work to be subtracted from the final grade and/or 4-month suspension
    • Third or additional offence: Zero grade in course, 1-year suspension, permanent removal from major program
    • Cheating on exams: Zero grade in course, including for first offenses
  • Any type of cheating, plagiarism or academic misconduct will not be tolerated
  • Note that any instances of suspected academic dishonesty will be subject to a formal investigation and that all offenders will be reported to the Associate Dean, Undergraduate Programs who will determine the appropriate penalty
  • Collaboration: You are encouraged to discuss general ideas and compare answers with other students, however, you must do your own numerical computation, algebraic steps and express ideas in your own words. To collaborate with other students and avoid academic misconduct:
    • You are allowed to discuss assignments amongst other students and write the general ideas
    • Once the meeting is over, do not take anything physical from the meeting such as a picture of the discussion nor the paper(s) used
    • Wait for at least 30 minutes before starting the assignments
    • This will ensure that your knowledge is based on what you have learned from the meeting

Supporting Services

ServicePhone NumberEmail
Student Health Services905 – 688 – 5550 x3243N/A
Student Accessibility Services905 – 688 – 5550 x3240asksas@brocku.ca
Personal Counselling Services1 – 833 – BROCK33counselling@brocku.ca
Campus Security (emergency)905 – 688 – 5550 x3200security@brocku.ca
Campus Security (non-emergency)905 – 688 – 5550 x4300
(ITS) Help Desk905 – 688 – 5550 x3778N/A
Student Ombudsperson https://brocku.ca/ombuds/

Course Communication, Extensions and Accommodations

  • The main medium of communication between the course coordinator and the student (and vice-versa) will be via Brock email address
  • Note that there are no make-up tests/midterms, instead, the weight of the missed test/midterm is added to the weight of the exam
  • A student is required to email the coordinator as soon as possible when a test/midterm/exam is missed due to a medical/religious matter
  • The email must contain the appropriate documentation (the earlier the email the better)
    • The period of this short-term medical condition for academic consideration must fall within a 72-hour (3 day) period. The form must be submitted to the coordinator either during your brief absence or if you are too unwell, within 24 hours of the end of your 3 day brief absence
    • In cases where a student requests academic consideration due to a medical circumstance that exceeds 72 hours (three days) and will impact their academic activities (e.g., participation in academic classes, delay in assignments, etc.), or in the case of a final exam deferral, the Student Medical Certificate form must be signed by the student and the health professional as per process set out in the Faculty Handbook III:9.4.1.
  • Based on the situation, the coordinator and student will agree to an appropriate medium
  • Students with known accommodation are encouraged (but not required) to contact the coordinator at the beginning of the course for keeping the appropriate accommodations required in mind

Intellectual Property Notice

All website material, slides, presentations, handouts, tests, exams, and other course materials created by the instructor in this course are the intellectual property of the instructor. A student who publicly posts or sells an instructor's work, without the instructor's express consent, may be charged with misconduct under Brock's Academic Integrity Policy and/or Code of Conduct, and may also face adverse legal consequences for infringement of intellectual property rights.