CS360

Copyright @ CMPUT301 - University of Alberta

All articles

Course Outline Spring 2026

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Midterms

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Assignment 1

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Project Part 1

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Project Problem Description

  • Dr Abdul Ali Bangash
  • Dr Suleman Shahid status: published summary: Project Problem Description

Published:

By LUMS

CS360 Course Fall 2021

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

CS360 Course Fall 2021 Old Lab Recordings

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

CS360 Course Old Project Problem Descriptions

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

CS360 Course Old Project Problem Descriptions Fall 2024

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Old Lecture Recordings Fall 2020

Old Lecture Recordings 2020 Fall

Old Lecture Recordings Fall 2021

Old Lecture Recordings 2021 Fall

Course Outline Winter 2024

Lecture, Labs, Contact Information, Lecturer, Teaching Assistants, Course Content, Course Description, Prerequisites, Objectives and Learning Outcomes, Course Topics, Learning Resources, Course Schedule, Required Textbook and/or Other Major Course Materials, Recommended or Optional Learning Resources, Course Fees, On-Line Homework Disclaimer, Academic Success Centre, Faculty of Science Student Services, Grade Evaluation, Letter Grades, Statement of Expectations for AI Use, Re-Evaluation of Term Work, Re-examination, Past or Representative Evaluative Material, Labs, Participation, Policies for Late and Missed Work, Late Policy, Non-medical Protected Grounds, Missed Term Work: Assignments, Labs, Quizzes, Project Parts, Midterm Exams, Missed Term Work: Participation, Deferred Final Examination, Required Technology, Labs Assignments and Project, Lecture Participation, Remote Delivery Considerations, Technology Requirements, Recordings of Synchronous Activities, Home-Based Lab Activities, Student Resources for Remote Learning, Student Responsibilities, Academic Integrity and Student Conduct, Contract Cheating and Misuse of University Academic Materials or Other Assets, Contract Cheating: CS Courses, Academic Integrity Issues Related to Minor Formative Assessments, Appropriate Collaboration, Citation, Solo Effort: Participation Exercises, Quizzes, Exams, Confidential: Exams, Consultation: Assignments, Labs, Teamwork: Group Projects, Intellectual Violence, Exam Conduct, Lecture Conduct, Students Eligible for Accessibility-Related Accommodations, Recording and/or Distribution of Course Materials, On-Campus Computer Labs, Recording and/or Distribution of Course Materials, Learning and Working Environment, Feeling Stressed, Anxious, or Upset?, Student Self-Care Guide, Land Acknowledgement, Administrative, Policy about Course Outlines, Disclaimer, Update History, Copyright

2011 W Project Problem Description

2011 W Project Problem Description

2012 W Project Problem Description

2012 W Project Problem Description

2013 W Project Problem Description

2013 W Project Problem Description

2014 F Project Problem Description

2014 F Project Problem Description

2015 F Project Problem Description

2015 F Project Problem Description

2015 W Project Problem Description

2015 W Project Problem Description

2015 W Project Problem Description Surprise

2015 W Project Problem Description Surprise

2016 F Project Problem Description

2016 F Project Problem Description

2016 W Project Problem Description

2016 W Project Problem Description

2017 F Project Problem Description

2017 F Project Problem Description

2017 W Project Problem Description

2017 W Project Problem Description

2018 F Project Problem Description

2018 F Project Problem Description

2018 W Project Problem Description

2018 W Project Problem Description

2019 F Project Problem Description

2019 F Project Problem Description

2019 W Project Problem Description

2019 W Project Problem Description

2020 F Project Problem Description

2020 F Project Problem Description

2020 W Project Problem Description

2020 W Project Problem Description

2021 F Project Problem Description

2021 F Project Problem Description

2021 W Project Problem Description

2021 W Project Problem Description

2022 W Project Problem Description

2022 W Project Problem Description

Old Lab Notes

Old Lab Notes

Class Participation Exercise 18

Individual, Assignments, Participation

Practice w23hm2q1

Practice Exam Question

Practice w23hm2q2

Practice Exam Question

A1/A2 20th September Class Exercise

Individual, Assignments, Participation

A1/A2 2nd October Class Exercise

Individual, Assignments, Participation

A1/A2 Sept 23rd Class Exercise

Individual, Assignments, Participation

Class Participation Exercise 10

Individual, Assignments, Participation

A1/A2 18th September Class Exercise

Individual, Assignments, Participation

B2 27th March Class Exercise

Individual, Assignments, Participation

Class Participation Exercise Sequence Diagram

Individual, Assignments, Participation

Class Participation Exercise (Cohesion and Coupling)

Individual, Assignments, Participation

Class Participation Exercise (CRC Cards)

Individual, Assignments, Participation

Class Participation Exercise (Git)

Individual, Assignments, Participation

Class Participation Exercise: Factory Method Pattern (Mar 29)

Individual, Assignments, Participation

Class Participation Exercise: Template Method Pattern (Mar 26)

Individual, Assignments, Participation

Practice w23hm1 Answers

Practice Exam Question

Class Participation Exercise 11

Individual, Assignments, Participation

Class Participation Exercise 12

Individual, Assignments, Participation

Class Participation Exercise 13

Individual, Assignments, Participation

Class Participation Exercise 9

Individual, Assignments, Participation

Class Participation Exercise 9

Individual, Assignments, Participation

Class Participation Exercise April 14

Individual, Assignments, Participation

Class Participation Exercise April 17

Individual, Assignments, Participation

Class Participation Exercise (Code to UML)

Individual, Assignments, Participation

Class Participation Exercise Design Principles

Individual, Assignments, Participation

Class Participation Exercise Proxy Pattern

Individual, Assignments, Participation

Class Participation Exercise 2020-04-06 Long Method Refactoring

Individual, Assignments, Participation

Class Participation Exercise 2020-04-08 Refactoring

Individual, Assignments, Participation

Class Participation Exercise 3

Individual, Assignments, Participation

Class Participation Exercise 8

Individual, Assignments, Participation

Class Participation Exercise 15

Individual, Assignments, Participation

Practice w23am1q1

Practice Exam Question

Practice w23am1q2

Practice Exam Question

Practice w23am1q3

Practice Exam Question

Practice w23am2q1

Practice Exam Question

Practice w23am2q2

Practice Exam Question

Practice w23am2q3

Practice Exam Question

Practice w23hm1q1

Practice Exam Question

Practice w23hm1q2

Practice Exam Question

Practice w23hm1q3

Practice Exam Question

Practice w23hpmq1

Practice Exam Question

Class Participation Exercise 20

Individual, Assignments, Participation

Class Participation Exercise 19

Class Participation Exercise 19

Exam Practice Questions

Exam Practice Questions

Old Lecture Recordings

Old Lecture Recordings 2020-2022

Old Participation Exercise

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Practice w23am3q1

Practice Exam Question

Practice w23am3q2

Practice Exam Question

Practice w23am3q3

Practice Exam Question

Project Demo Schedule

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Lab 5 Instructions

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Lab 6 Instructions

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Lab 7 Instructions

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Lab 8 Participation Exercise

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Project Part 0

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Project Part 2

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Project Part 3

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Project Part 4

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Project Problem Description

Project Problem Description

Project Teams

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Lab 1

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Assignment 0: Getting Started

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Assignment 1

Assignment 1

Group Assignment 5: Presentation Marking Rubric

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Individual

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Group Project

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Lab 2 Instructions

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Lab 3 Instructions

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Lab 4 Participation Exercise

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Lab 4 Participation Exercise Past Notes

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Labs

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Learning Resources & Reference Materials

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

Slides

Dr. Suleman Shahid and Dr. Abdul Ali Bangash, Department of Computing Science, LUMS (2026). Dr. Hazel Campbell, Department of Computing Science, University of Alberta (2019, 2023, 2024). Dr. Abram Hindle, Department of Computing Science, University of Alberta (2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023). Alexander Wong, 2019 …

Published:

By LUMS

SPM and SDA MOOC Resources

Resources, Reference Materials, Notes, Videos, Slides

Practice w23hm3q1

Practice Exam Question

Practice w23hm3q2

Practice Exam Question

Practice w23hm3q3

Practice Exam Question

Practice w23hm2q3

Practice Exam Question

Class Participation Exercise Simple Factory

Individual, Assignments, Participation

Class Participation Exercise Mock Objects

Individual, Assignments, Participation

Class Participation Exercise Command Pattern

Individual, Assignments, Participation