0% found this document useful (0 votes)
19 views9 pages

Comp 212

The document outlines the course details for Programming 3 (COMP 212) at Centennial College, including prerequisites, course description, learning outcomes, and evaluation methods. The course focuses on advanced C# programming techniques, data structures, and application development using .NET technologies. It emphasizes hands-on labs and includes policies on academic honesty and student accommodations.

Uploaded by

naziraasghar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views9 pages

Comp 212

The document outlines the course details for Programming 3 (COMP 212) at Centennial College, including prerequisites, course description, learning outcomes, and evaluation methods. The course focuses on advanced C# programming techniques, data structures, and application development using .NET technologies. It emphasizes hands-on labs and includes policies on academic honesty and student accommodations.

Uploaded by

naziraasghar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Course Outline

School: Eng. Tech. & Applied Science

Department: Information and Communication


Engineering Technology (ICET)

Course Title: Programming 3

Course Code: COMP 212

Course Hours/Credits: 56

Prerequisites: COMP 123

Co-requisites: N/A

Eligible for Prior Learning, Yes


Assessment and Recognition:

Originated by: Programming Languages Group

Creation Date: Fall 2012

Revised by: Yin Hua Li

Revision Date: Winter 2025

Current Semester: Winter 2025

Approved by:

Clarence Cheung, Associate Dean/Dean,


Eng. Tech. & Applied Science

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.

This course outline is available in alternative formats upon request.


COMP 212 CENTENNIAL COLLEGE Programming 3

Acknowledgement of Traditional Lands


Centennial is proud to be a part of a rich history of education in this province and in this city. We
acknowledge that we are on the treaty lands and territory of the Mississaugas of the Credit First Nation
and pay tribute to their legacy and the legacy of all First Peoples of Canada, as we strengthen ties with
the communities we serve and build the future through learning and through our graduates. Today the
traditional meeting place of Toronto is still home to many Indigenous People from across Turtle Island and
we are grateful to have the opportunity to work in the communities that have grown in the treaty lands of
the Mississaugas. We acknowledge that we are all treaty people and accept our responsibility to honor all
our relations.

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#.

External Standard Information (ESI)


N/A

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/.

Course Learning Outcomes


The student will reliably demonstrate the ability to:
1. Design, code, and test C# applications that apply classic data structures to minimize the memory
and/or time required for common operations of insertion, access, search, modification, or removal.
2. Examine the use of delegates in C# apps, including implementation of callback methods and event
handling
3. Improve the performance of C# applications by using asynchronous programming and parallel
programming
4. Design, code and test WPF applications
5. Query and manipulate data in C# apps by using an open source, cross-platform data access
technology, such as Entity Framework Core
6. Integrate various machine learning algorithms into C# applications.

Essential Employability Skills (EES)


THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar) 2
COMP 212 CENTENNIAL COLLEGE Programming 3

The student will reliably demonstrate the ability to*:


2. Respond to written, spoken, or visual messages in a manner that ensures effective
communication.
3. Execute mathematical operations accurately.
4. Apply a systematic approach to solve problems.
5. Use a variety of thinking skills to anticipate and solve problems.
11. Take responsibility for one's own actions, decisions, and consequences.
*There are 11 Essential Employability Skills outcomes as per the Ministry Program Standard. Of these 11 outcomes, the following will be
assessed in this course.

New Essential Skills (NES)


N/A

Global Citizenship and Equity (GC&E) Outcomes


The student will reliably demonstrate the ability to*:
1. Identify one's roles and responsibilities as a global citizen in personal and professional life.
2. Identify beliefs, values and behaviours that form individual and community identities and the basis
for respectful relationships.
3. Analyze issues of equity at the personal, professional, and global level.
4. Analyze the use of the world's resources to achieve sustainability and equitable distribution at the
personal, professional, and global level.
6. Support personal and social responsibility initiatives at the local, national or global level.
*There are 6 institutional Global Citizenship & Equity outcomes. Of these 6 outcomes, the following will be assessed in this course.

Methods of Instruction
Interactive Lecture, demonstrations, hands-on lab sessions

Text and Other Instructional/Learning Materials


Text Book(s):
Christian Nagel, Professional C# and .NET, 2021 Edition, Published by Wrox, ISBN-13: 978-1119797203,
September 2021. Available at https://learning.oreilly.com/library/view/professional-c-and/9781119797203/

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/

Classroom and Equipment Requirements


Computers with access to the Internet. Software image in Software engineering labs includes all tools
used in this course.

THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar) 3


COMP 212 CENTENNIAL COLLEGE Programming 3

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,

THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar) 4


COMP 212 CENTENNIAL COLLEGE Programming 3

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

Program or School Policies


N/A

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

Use of Lecture/Course Materials

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

THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar) 5


COMP 212 CENTENNIAL COLLEGE Programming 3

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.

THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar) 6


COMP 212 CENTENNIAL COLLEGE Programming 3

Topical Outline (subject to change):


ORIGINAL TOPICAL
Week Topics Readings/Materials Weekly Learning Outcome(s) Instructional Strategies Evaluation Evaluation
Name and Date
Weight
1 Generics: Generic Chapter 5 . Explain boxing & unboxing Interactive lecture
classes, Generic . Explain generic Structs & generic interfaces Demonstration
methods, Extension . Explain type constraints Lab session
Methods . Describe generic classes & generic methods
with type constraints
. Describe extension methods
. Implement/Use generic classes, generic
methods, and extension methods in C#
applications
2 Introduction to Linear Chapter 8 .Define Linear Data structures Interactive lecture Lab 1 Week 3
Data structure .Examine Arrays, Lists (linked lists, doubly Demonstration
linked lists, circularly linked lists) Lab session
. Perform CRUD operations on Arrays, Lists
. Use Arrays and Lists in C# apps.
3 Stack & Queue Chapter 8 Explain Stack's features and operations can Interactive lecture
be performed Demonstration
Lab session
4 Map, HashTable & Chapter 8 . Examine dictionaries, sets, and hash tables. Interactive lecture
Set . Apply the operations that can be performed Demonstration
on dictionaries, sets, and hash tables. Lab session
. Use dictionaries, sets, HashSet in C# apps
5 Delegates Chapter 7 . Define and use delegate in C# Apps Interactive lecture Lab 2 Week 6
Demonstration
Lab session
6 Asynchronous Chapter 11 & 17 . Use async and await keywords to implement Interactive lecture Lab 3 Week 8
Programming & asynchronous programming Demonstration
Parallel programming . Use Task-based Asynchronous Pattern to Lab lession
take advantage of multi-core processors
. Differentiate between asynchronous
programming and parallel programming
. Use asynchronous programming and
parallel programming together to develop
more responsive and high performance C#
applications
7 WPF Applications Chapter 29 & 30 . Explain features of WPF Interactive lecture Test 1
. Define styles in XMAL. Demonstration

THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar) 7


COMP 212 CENTENNIAL COLLEGE Programming 3

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

THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar) 8


COMP 212 CENTENNIAL COLLEGE Programming 3

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

THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar) 9

You might also like