Internet Technologies
CourseCOSC 2P89
TermSpring 2026
Cross-listedAPCO 2P89 · IADM 2P89
Section01
InstructorMaysara Al Jumaily
Email
amaysara@brocku.ca| Time | Room | |
|---|---|---|
| Lecture (S01) | Mon/Wed 10:00am – 11:20am | GLA164 |
| Lab 1 | Tuesday 11:00am – 12:50pm | MCJ310 |
| Lab 3 | Thursday 12:00pm – 1:50pm | MCJ310 |
- 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
| Entry | Weight | Due Date |
|---|---|---|
| Assign 01 HTML, CSS & JavaScript | 10% | Sunday May 31, 2026 |
| Assign 02 TypeScript & Local Storage | 10% | Sunday June 28, 2026 |
| Assign 03 Angular & Firebase | 10% | Friday July 17, 2026 |
| Labs | 20% | After each lab |
| Written Midterm | 15% | Wednesday June 03rd, 2026 |
| Final Written Exam | 30% | April 22, 2026 |
| Lecture Attendance | 05% | 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 , HTTP requests and error handlingawait - 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
- The report is something you will write yourself and should not be generated by AI models, nor proofread by them nor edited by them.
- 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
- You must write a report of what parts of your code used AI and why AI was used
Schedule of Topics
The schedule below is a rough outline for the course and may change as the semester unfolds:
| Week | Objective | Lab Topic |
|---|---|---|
| Week 01 May 04 – May 08 | Modern HTML5 and Structure
| No Lab |
| Week 02 May 11 – May 15 | Introduction to CSS, SCSS and JavaScript
| HTML Tags, Forms, Tables and Media Elements |
| Week 03 May 18 – May 22 | Introduction to TypeScript
| CSS, SCSS and JavaScript |
| Week 04 May 25 – May 29 | TypeScript and Local Storage
| TypeScript Types and Interfaces |
| Week 05 Jun 01 – Jun 05 | Asynchronous Programming
| TypeScript and Local Storage |
| Reading Week June 08 – June 12 | ||
| Week 06 Jun 15 – Jun 19 | Introduction to Angular
| Asynchronous Programming with Promises |
| Week 07 Jun 22 – Jun 26 | Angular Components and Routing
| Angular Project Setup and Components |
| Week 08 Jun 29 – Jul 03 | Firebase Essentials
| Angular Routing and Lazy Loading |
| Week 09 Jul 06 – Jul 10 | Miscellaneous
| Firebase Authentication and Firestore |
| Week 10 Jul 13 – Jul 17 | Ensuring all Concepts are Covered
| 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
| Service | Phone Number | |
|---|---|---|
| Student Health Services | 905 – 688 – 5550 x3243 | N/A |
| Student Accessibility Services | 905 – 688 – 5550 x3240 | asksas@brocku.ca |
| Personal Counselling Services | 1 – 833 – BROCK33 | counselling@brocku.ca |
| Campus Security (emergency) | 905 – 688 – 5550 x3200 | security@brocku.ca |
| Campus Security (non-emergency) | 905 – 688 – 5550 x4300 | |
| (ITS) Help Desk | 905 – 688 – 5550 x3778 | N/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.