03.TLP - PROG1322 - Design Patterns For Enterprise Development-2
03.TLP - PROG1322 - Design Patterns For Enterprise Development-2
COURSE OUTLINE
Course Outlines | Niagara College Canada
V23-18/10
COURSE DESCRIPTION
In this course, you will learn how to create distributed applications using Cloud Services such
as Microsoft Azure and working with the "layered architecture" behind complex, enterprise
systems. Using open-source technologies such as Progressive Web Apps and .NET Core, you
will be able to develop scalable database solutions that manage information flow between Azure
Cloud services and personal computers as well as mobile devices such as tablets and cell phones.
LEARNING OUTCOMES
Upon successful completion of this course, the student has reliably demonstrated the ability to:
1. Design and Create Distributed Database Applications using appropriate database objects to
support enterprise development of multiple client interfaces.
2. Create automated test regimens to implement Unit Testing as part of Test-driven
Development (TDD) methodology.
3. Develop integrated data-driven web applications such as an online store using SQL Server,
LINQ and the Entity Framework.
LEARNING RESOURCES
F24-08/03
Supplemental/ Martin Patterns of Addi 978- 1st https://www.amazon.ca/
Recommended Fowle Enterprise son- 0321 Patterns-Enterprise-
Resources: r Application Wesl 1274 Application-
Architecture ey 26 Architecture-
Prof Martin/dp/0321127420
essio
nal https://www.guru99.co
m/c-sharp-tutorial.html
COMPUTER/TECHNOLOGY REQUIREMENTS
✔ We recommend students buy PC laptops or desktops with the same specifications as or higher
than the machines in our labs. Our labs have the following minimum configuration:
>i7 processor
>16 GB of RAM
>512 GB SSD
> Smallest 17-inch screen (21.5-inch recommended)
✔ NCT offers access to computer labs on campus, but availability cannot be guaranteed, and some
software may not be available on all open- access computers on campus.
F24-08/03
EVALUATION DETAILS
Total 100%
F24-08/03
STANDARD COURSE PLAN
Topic /Theme/Chapter
Week Assessments and Activities Learning Objectives
▪ Icebreaker
Activity and self-
introduction
▪ Explore
LMS(Canvas)
features, learn to
communicate with
Icebreaker
instructors and
Activity
peers through
Lecture and
Canvas
Discussions
▪ Familiarize with Intro session (setting overall
(Group Activity):
Week 1 the TLP: objectives for the course content)
Introduction to the
Introduction to the
software required and their
learning objectives
functions which will be used
and outcome,
in the throughout courses -
Familiarize with
Hands-On Lab
the evaluation
methods and
weightage
▪Pre-requisite courses
overview and Basic concepts
related to the
subject.
F24-08/03
Code First approach:
• Creating model
classes representing
business entities
without worrying
about the database
schema initially.
• Use Entity
Framework's 1. Design and Create Distributed
Database Migrations Database Applications using
feature to appropriate database objects to
automatically create support enterprise development of
or update the SQL multiple client interfaces.
Server database
based on the model
classes. 1.2 Code First: From an Object-
Discussing enterprise Oriented paradigm, create model classes
Week 3 development models: representing the entities involved in a
Lecture and Discussion
• Discussions about In-Class Activity.
business application and use Database
various enterprise Migrations to create a SQL Server
development database.
models, such as 2- 1.3 Describe the various models for
tier, 3- tier, n-tier enterprise development including 2- tier,
systems, and 3-tier and n-tier systems and internet
internet applications and decide which system
applications. would be right in each business
• The advantages and environment.
limitations of each
model and learn to
choose the most
suitable model for
specific business
environments and
project
requirements.
F24-08/03
Deploying Database
Schema to Azure SQL:
Deploying the database 1. Design and Create Distributed
schema which designed in Database Applications using proper
Week 2 &3. database objects to support enterprise
Best Practices for development of multiple client
Implementing Domain interfaces.
Specific LINQ: 1.4. Deploy a Database Schema to Azure
• Explore best SQL.
practices for using 1. Design and Create Distributed
Week 5
LINQ (Language Database Applications using right
Integrated Query) in database objects to support enterprise
Lecture and Discussions
applications. development of multiple client
• How to implement interfaces.
Domain Specific 1.5. Adopt Best Practices for Domain
LINQ to enhance Specific LINQ Implementations,
data querying and including LINQ to Objects and LINQ to
manipulation, making data Entities.
operations more efficient
and readable.
• Unit Testing and Test-
driven Development
(TDD): Writing T-SQL
test scripts:
• To write T-SQL test
scripts using variables,
comments, conditional
statements, and loops.
• These scripts will serve 2. Create automated test regimens to
as the basis for implement Unit Testing as part of Test-
conducting unit tests to Lecture and Discussion driven Development (TDD)
evaluate the correctness In-Class Activity methodology.
of the database schema 2.1. Write test scripts in T-SQL using
Week 6
and its functionality. Database Project Issued, variables, comments, statement blocks,
• Creating Unit Tests: with database report Detailed conditional statements and loops.
• Introduced to the outcome explanation 2.2. Create Unit Tests to detect regression
concept of Unit Testing bugs and automate Test-driven
and how it aids in Development (TDD).
identifying regression
bugs and ensuring code
quality.
• Create Unit Tests to
validate the behavior of
various components of
their database
applications.
F24-08/03
• Test-driven
Development (TDD)
methodology:
• The principles of Test-
driven Development,
emphasizing writing
tests before writing the
actual code.
Week 7
(Monday,
14th Oct
2024: Test 2 (15%) lab work
Statutory based on lab 6 exercise
Holiday:
Thanksgiving
Day (No
Classes) *
Reading Week (No
Week 8 Reading Week (No Classes)
Classes)
Interface Testing Fake and
Mock Object Frameworks:
Implementing interface
testing:
2. Create automated test regimens to
• Interface testing, which
implement Unit Testing as part of Test-
involves testing the
driven Development (TDD)
interaction between
methodology.
components in their
2.3. Implement interface testing using
applications.
Fake and Mock object frameworks to
Use Fake and Mock object
eliminate dependencies on external
frameworks:
modules in Unit Tests
• Create isolated
Lecture and
environments for unit
Week 9 Discussions 3. Develop integrated data-driven web
tests, reducing
In-class Activity applications such as an online store
dependencies on
using SQL Server, LINQ and the Entity
external modules and
Framework.
making testing more
3.1. Create CRUD-capable Web
efficient.
applications using the Model View
Developing Data-Driven
Controller (MVC) design pattern.
Web Applications with
3.2. Enhance the User Experience (UX) of
MVC: Creating CRUD
MVC applications using CSS Frameworks
capable Web applications:
and Scripting libraries.
• Explore the Model View
Controller (MVC)
design pattern, a popular
architectural pattern for
F24-08/03
building web
applications.
• Create CRUD (Create,
Read, Update, Delete)
capable web
applications, enabling
users to perform
essential data operations
through a user-friendly
interface.
Improving User
Experience (UX):
• Enhance the User
Experience (UX) of
their MVC applications
by incorporating CSS
Frameworks and
Scripting libraries.
• Create visually
appealing and
responsive user
interfaces for their web
• applications.
Test 3 (15 %)
Week 10 Lab work -Based on lab 9
exercise
Integrating API
Controllers:
• Integrate API 3. Develop integrated data-driven web
Controllers into Server- applications such as an online store
Side applications. API Lecture and using SQL Server, LINQ and the Entity
Controllers facilitate Discussions Framework.
Week 11 efficient data transfer In-Class individual Activity. 3.3 Integrate API Controllers into Server-
between the server and Side applications to provide efficient data
Client-Side platforms, transfer between the server and Client-
such as web browsers, Side platforms such as PC, mobile and
mobile devices, and Single Page applications.
Single Page
applications.
F24-08/03
• Developing Progressive
Web Applications: The
concept of Progressive
Web Applications
(PWA) will be explored. 3. Develop integrated data-driven web
• Understand how PWAs applications such as an online store
offer a native app-like Lecture and using SQL Server, LINQ and the Entity
Week 12
experience while being Discussions Framework.
accessible through web In-Class Activity 3.4. Develop Progressive Web
browsers. Applications as part of a distributed
• These applications database application
provide improved
performance,
responsiveness, and
offline capabilities.
Discussion on
Discussion on individual
individual/Group
Week 13 Application and their Final
Application and their Final
outcome for Submission of
outcome for Submission
Database Project
Students' Presentation and Database Project 40% Due The report must be submitted before
Week 14
review on midnight 12.00 AM the presentation
Week 15 Test 4 (15%)
F24-08/03
All evaluations, assignments and quizzes are included in the final course grade calculations.
E-MAIL COMMUNICATION
All students are required to check their official student e-mail account regularly. E-mail
is the official route of communication between the College and its students.
ACADEMIC INTEGRITY
Students are subject to the College’s Practice on Student Academic Misconduct and should
therefore be aware of what constitutes academic misconduct and its consequences. Student
academic misconduct is a serious offence and will not be tolerated. It may take many forms and
not limited to, plagiarism, copying another student’s work or allowing others to copy one’s own
work, the use of unauthorized aids in assignments or examinations, falsifying identity and logging
into another student’s account, submitting substantially the same academic assessment work in
two or more courses without faculty permission, unauthorized group work for an individually
assigned assignment, the willful distortion or fabrication of experimental results or data, and the
use of generative artificial intelligence (AI), such as ChatGPT or other, to help complete any of
your work in this course.
If you are unsure of what constitutes academic integrity infringements such as plagiarism or others,
or you do not know whether an online resource or tool can be used in this course, you can seek
assistance from your instructor, program coordinator, academic advisors, or the library staff. You
can also refer to the library resources link Academic Integrity Introduction: NCT Library
(niagaracollegetoronto.ca).
Students agree that by taking this course all submitted assignments/papers may be reviewed by
Turnitin for textual similarity in support of academic integrity. All submitted assignments/papers
will be included as source documents in the Turnitin reference database solely for the purpose of
detecting plagiarism of such papers. Use of the Turnitin service is subject to the Usage Policy
posted on the Turnitin.com website. Students also agree that all the submitted assignment/papers
may be checked for any AI-produced material using AI detection tools and software.
Faculty members reserve the right to determine the appropriateness of AI tool usage within their
course. Students must adhere to the directives issued by faculty members regarding AI. In keeping
with the NCT Academic Honesty Policy, the use of AI tools must be approached with integrity
and responsibility. Students are required to critically evaluate and appropriately cite any AI-
generated content in their academic submissions if allowed by faculty. It is essential to understand
that while AI tools can provide substantial support in comprehending and interacting with course
materials, they are intended to supplement, not substitute, your own analytical thinking and
creative input.
CITATION
F24-08/03
Students are expected to use proper citations techniques when submitting assignments. Citations
help students to avoid accusations of plagiarism and demonstrates a writer’s integrity and ability
to engage in a formal scholarly work. The College adopts the APA citation style (APA 7th Edition
https://apastyle.apa.org/) which was created by the American Psychological Association. In APA,
you must "cite" sources that you have paraphrased, quoted or otherwise used to write your work.
Cite your sources in two places:
• In the body of your assignment/paper where you add a brief in-text citation.
• In the Reference list at the end of your paper where you give more complete information
for the source.
• 10% deduction of the assignment will apply for each day passed the assignment due date until
Day 7.
• Late submission passed Day 7 will automatically receive a zero grade.
F24-08/03
The College is committed to the provision of an open and supportive learning environment. If you
are a student with a disability, please remember that it is your responsibility to contact Health,
Wellness and Community Services (HWCS) and/or the Accessibility Consultant and provide
documentation pertinent to your disability. The earlier you ask for assistance, the more effective
we can be in facilitating the appropriate support. Do not wait until you are experiencing serious
difficulties to contact the above resources.
* The college will be closed on the following Mondays: Oct 14th. The rest of the days during the week
will proceed as per the regular schedule.
F24-08/03