Comp 212
Comp 212
Course Hours/Credits: 56
Co-requisites: N/A
Approved by:
Students are expected to review and understand all areas of the course outline.
Retain this course outline for future transfer credit applications. A fee may be charged for
additional copies.
Course Description
The goal of this course is to enable students, already proficient in OOP, to build robust and more
complex, data-driven desktop applications using the .NET technologies. Coursework emphasizes
advanced topics, such as generics, extension methods, linear data structures, Delegate, asynchronous
programming, parallel programming, advanced GUI, Entity Framework core, ML.NET framework, etc..
The language of instruction is C#.
Program Outcomes
Successful completion of this and other courses in the program culminates in the achievement of the
Vocational Learning Outcomes (program outcomes) set by the Ministry of Colleges and Universities in the
Program Standard. The VLOs express the learning a student must reliably demonstrate before
graduation. To ensure a meaningful learning experience and to better understand how this course and
program prepare graduates for success, students are encouraged to review the Program Standard by
visiting http://www.tcu.gov.on.ca/pepg/audiences/colleges/progstan/. For apprenticeship-based programs,
visit https://www.skilledtradesontario.ca/about-trades/trades-information/.
Methods of Instruction
Interactive Lecture, demonstrations, hands-on lab sessions
Ian Griffiths, Programming C# 12: Build Cloud, Web, and Desktop Applications, published by O'Reilly
Media, ISBN-13: 978-1098158361, July 2024, available at
https://learning.oreilly.com/library/view/programming-c-12/9781098158354/
Dino Esposito, Francesco Esposito, Programming ML.NET, published by Microsoft Press, March 2022,
available at https://learning.oreilly.com/library/view/programming-ml-net/9780137383511/
Online Resource(s):
https://dotnet.microsoft.com/
Evaluation Scheme
➮ Lab 1: Develop C# applications that employ generic class, generic methods, collections,
searching and sorting algorithms
➮ Lab 2: Develop C# applications using delegate
➮ Lab 3: Develop more responsive and faster C# WPF apps by using asynchronous programming and
parallel programming
➮ Lab 4: Develop WPF applications with MVVM pattern to access and/or manipulate data in Database
➮ Lab 5: Develop C# applications using ML.NET framework
➮ Test 1 Hands-on: Test 1 will take place in week 7 and will cover material taught in weeks 1-6.
➮ Test 2 Hands-On: Test 2 will take place in week 14 and will cover material taught in weeks 7-13.
Evaluation Name CLO(s) EES NES GCE Weight/
Outcome(s) Outcome(s) Outcome(s) 100
Lab 1 1 2, 3, 4, 5, 1, 2, 3, 6 10
11
Lab 2 2 2, 3, 4, 5, 1, 2, 3, 4, 6 10
11
Lab 3 3, 4 2, 3, 4, 5, 1, 2, 3, 4, 6 10
11
Lab 4 4, 5 2, 3, 4, 5, 1, 2, 3, 4, 6 10
11
Lab 5 6 2, 3, 4, 5, 1, 2, 3, 4, 6 10
11
Test 1 Hands-on 1, 2, 3, 2, 3, 4, 5, 1, 2, 3, 4, 6 25
4 11
Test 2 Hands-On 1, 4, 5, 2, 3, 4, 5, 1, 2, 3, 4, 6 25
6 11
Total 100%
If students are unable to write a test they should immediately contact their professor or program Associate
Dean for advice. In exceptional and well documented circumstances (e.g. unforeseen family problems,
serious illness, or death of a close family member), students may be able to write a make-up test.
All submitted work may be reviewed for authenticity and originality utilizing College approved plagiarism
prevention software. Students who do not wish to have their work submitted to College approved
plagiarism prevention software must, by the end of the second week of class, communicate this in writing
to the instructor and make mutually agreeable alternate arrangements.
When writing tests, students must be able to produce official Centennial College photo identification or
they may be refused the right to take the test or test results will be void.
Tests or assignments conducted remotely may require the use of online proctoring technology where the
student’s identification is verified and their activity is monitored and/or recorded, both audibly and visually
through remote access to the student's computer and web camera. Students must communicate in
writing to the instructor as soon as possible and prior to the test or assignment due date if they require an
alternate assessment format to explore mutually agreeable alternatives.
Student Accommodation
The Centre for Accessible Learning and Counselling Services (CALCS) (http://centennialcollege.ca/calcs)
provides programs and services which empower students in meeting their wellness goals,
accommodation and disability-related needs. Our team of professional psychotherapists, social workers,
educators, and staff offer brief, solution-focused psychotherapy, accommodation planning, health and
wellness education, group counselling, psycho-educational workshops, adaptive technology, and peer
support. Walk in for your first intake session at one of our service locations (Ashtonbee Room L1-04,
Morningside Room 190, Progress Room C1-03, The Story Arts Centre Room 285, Downsview Room 105)
or contact us at [email protected], 416-289-5000 ext. 3850 to learn more about accessing
CALCS services.
Use of Dictionaries
Course Policies
N/A
College Policies
Students should familiarize themselves with all College Policies that cover academic matters and student
conduct.
All students and employees have the right to study and work in an environment that is free from
discrimination and harassment and promotes respect and equity. Centennial policies ensure all incidents
of harassment, discrimination, bullying and violence will be addressed and responded to accordingly.
Academic Honesty
Academic honesty is integral to the learning process and a necessary ingredient of academic integrity.
Forms of academic dishonesty include cheating, plagiarism, and impersonation, among others. Breaches
of academic honesty may result in a failing grade on the assignment or course, suspension, or expulsion
from the college. Students are bound to the College’s AC100-11 Academic Honesty and Plagiarism
policy.
To learn more, please visit the Libraries information page about Academic Integrity
https://libraryguides.centennialcollege.ca/academicintegrity and review Centennial College's Academic
Honesty Module:
https://myappform.centennialcollege.ca/ecentennial/articulate/Centennial_College_Academic_Integrity_M
odule_%202/story.html
Materials used in Centennial College courses are subject to Intellectual Property and Copyright
protection, and as such cannot be used and posted for public dissemination without prior permission from
the original creator or copyright holder (e.g., student/professor/the College/or third-party source). This
includes class/lecture recordings, course materials, and third-party copyright-protected materials (such as
images, book chapters and articles). Copyright protections are automatic once an original work is created,
and applies whether or not a copyright statement appears on the material. Students and employees are
bound by College policies, including AC100-22 Intellectual Property, and SL100-02 Student Code of
Conduct, and any student or employee found to be using or posting course materials or recordings for
public dissemination without permission and/or inappropriately is in breach of these policies and may be
sanctioned.
For more information on these and other policies, please visit www.centennialcollege.ca/about-
centennial/college-overview/college-policies.
Students enrolled in a joint or collaborative program are subject to the partner institution's academic
policies.
PLAR Process
This course is eligible for Prior Learning Assessment and Recognition (PLAR). PLAR is a process by
which course credit may be granted for past learning acquired through work or other life experiences. The
PLAR process involves completing an assessment (portfolio, test, assignment, etc.) that reliably
demonstrates achievement of the course learning outcomes. Contact the academic school to obtain
information on the PLAR process and the required assessment.
This course outline and its associated weekly topical(s) may not be reproduced, in whole or in
part, without the prior permission of Centennial College.
Week Topics Readings/Materials Weekly Learning Outcome(s) Instructional Strategies Evaluation Evaluation
Name and Date
Weight
. Explain Data Binding Lab session
. Develop WPF applications
that utilize data binding
8 Data Binding Lecture Handout . Use advanced data binding properties, such Interactive lecture
as Fallback, StringFormat, Demonstration
Converter, etc., to improve data presentation Lab session
in WPF applications
. Select appropriate WPF controls for a
specified scenario
. Implement WPF UserControl
9 Advanced WPF Lecture Handout . Implement WPF UserControl and consume it Interactive lecture Lab 4 Week 11
.Apply MVVM pattern to implement complex Demomstration
desktop applications Lab session
10 LINQ & Entity Chapter 21 . Use LINQ to access data from different data Interactive lecture
Framework Core sources Demonstration
. Develop C# applications to create database Lab session
by using Entity Framework Core
. Use Entity Framework Core to generate data
model classes from an existing database
. Develop windows desktop applications to
access and/or manipulate data in a Database
by using LINQ and DbContext class
11 Entity Framework Lecture Handout . Perform CRUD on data stored in Database Interactive lecture
Core - Part 2 using Entity Framework Core Demonstration
. Learn Command pattern Lab session
. Develop Windows Desktop Applications to
implement MVVM pattern and Command
pattern
12 - ML.NET Framework Lecture Handout . Identify different building blocks in a Interactive lecture Lab 5 Week 13
13 machine learning pipeline in ML.NET Demonstration
. Differentiate various transformations on Lab session
different kinds of data
. Identity and solve regression type of
problems by using ML.NET supported
regression trainers
. Identify and solve classification type of
problems by using trainers/classifiers
provided in ML.NET
. Describe how clustering algorithms work
. Use ML.NET classes to integrate machine
learning into C# apps
Week Topics Readings/Materials Weekly Learning Outcome(s) Instructional Strategies Evaluation Evaluation
Name and Date
Weight
14 Test 2 Week 7-13 materials Week 7-13 learning outcomes Hands-on test Test 2 Week 14