F Enterprise Computing
Home Syllabus Lecture Lesson Assignment Reference MyLS

WLU logo

Course Syllabus
CP630 Enterprise Computing 2026 Winter (Session A) 13-week course
Department of Computer Science and Physics, Faculty of Science, Waterloo Campus

I acknowledge that in Kitchener, Waterloo, Cambridge and Brantford we are on the traditional territory of the Neutral, Anishnawbe, and Haudenosaunee peoples.

Instructor Information

Instructor: Dr. Hongbing Fan (HBF)
Office: Science Building N2081
Email: hfan@wlu.ca
Weekly Office Hours: After class or by appointment

Course Information

Calendar Description: Enterprise computing offers integrated solutions to organizations that need help managing a variety of problems including software development, resource management and data analytics. This course extends traditional Computer Science education by introducing students to a practical application of their skills through enterprise computing which integrates IT management and application development. Students are introduced to the principles, techniques and practices in modern enterprise computing with a focus on backend business logic computing and the technical foundation of data analysis. This course provides students with the foundation to manage all aspects of enterprise computing solutions including security, user experience, optimization, and distributed databases.

Credit: 0.5

Pre-requisite: MAC or MCS registration

Mode of Delivery: In person

Lecture Time: MW 2:30 pm - 3:50 pm

Classroom: Bricker Academic Building BA112

Course Overview and Approach

Overview: Computing has become an essential part of modern enterprise operations. Enterprise Computing (EC) is about integrated solutions to solve various enterprise computing problems. It has to deal with large and complex systems and applications, software development, deployment and execution. It has high requirements on reliability, security, availability, scalability, and performance. This course introduces the principles and practices of modern EC. We focus on service-oriented-architectures and component-oriented programming, and use Java technologies for EC components and applications development and deployment. We introduce enterprise big data architectures and systems for data-oriented applications. We will also introduce AI computing for enterprises. Specifically, we cover the following topics.

The following topics will be covered:

  1. Concepts, characteristics, requirements, and principles of Enterprise Computing
  2. Service Oriented Architectures (SOA), Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS)
  3. Component-oriented programming for service component construction
  4. Java based technologies for component development: Java Enterprise Edition (JavaEE), EJB Enterprise Java Beans (EJB), Spring framework, OSGi framework.
  5. Java based technologies for component deployment and services: EJB and web containers, JBoss application server (Enterprise Application Platform), Spring IoC container, OSGi container
  6. Open Container Initiative (OCI) for application/component deployment, Docker, Kubernetes
  7. Distributed computing architectures for big data: distributed file systems and databases, SQL/NoSQL/Graph databases, distributed/parallel algorithms, MapReduce, Lambda architecture
  8. Big data systems: Hadoop, Spark, Cassandra, Kafka, Neo4j
  9. Enterprise AI computing architectures with large language models (LLMs) and agentic AI application development and deployment.
  10. Data-oriented applications with data mining, machine learning, data analysis, and business intelligence.

Approach: This course will be taught through content delivery with class lectures, notes, and weekly lessons, interactive learning with in-class questions, answers, and discussions (Q&A&D), practices and evaluations with labs, assignments and examinations.

In addition to in-class Q&A&D, a discussion board will be opened up for every week of the term. The discussion board is intended to provide students with a platform they can use to connect with other students and the professor to discuss the material of the week. If you have a general question about the material for the week, please post your question here. If your questions are of a personal nature, please email to the instructor through email.

Goals and Learning Outcomes

The primary goal is to teach students the concepts, principles, and practices on enterprise computing. We focus on Service Oriented Architecture (SOA), multitier application architectures, component programming, deployment and execution, as well as data-oriented enterprise applications. By the end of this course students should be able to

  • Recognize problems, characteristics, requirements, and principles of modern enterprise computing.
  • Establish EC frameworks from isolated standalone applications to networked and multitier applications with middleware-based platform solutions and cloud-based IaaS, PaaS, SaaS solutions.
  • Apply EC principles, SOA, multitirer application architectures in EC systems designs.
  • Use component-oriented and service-oriented programming paradigms to design application components, particularly, data oriented application components and services.
  • Develop components on Java platforms and frameworks of Java EE, Spring, and OSGi. Deploy components and applications on middleware containers and application servers.
  • Develop big data-based machine learning models for service components with big data systems such as Hadoop, Cassandra, Kafka, Spark.
  • Develop agentic AI systems for enterprise computing applications using open-source LLMs, frameworks, and tools.
  • Automate enterprise application development, development, and operations with DevOps tools.

Course Textbooks and Learning Materials

There are no required textbooks for this course. Instead, weekly lessons are provided and served as textbook.

Learning materials include lecture notes, lessons, labs, assignments, and references.

We will use Enterprise Computing Software (ECS), a collection of open-source software tools, in labs and assignments. These include Java SE and EE, JBoss-AS, Spring, OSGi, MySQL, NoSQL, Hadoop, Spark, Maven, as well as Python based libraries, LLMs, tools for AI computing. All these software tools apply to both Windows, Mac OS, and Linux OS. We will use and support Windows OS for labs and assignments.

Course Strategies and Supports

Success in this course requires consistent effort, curiosity, and willingness to learn by doing. The strategies include: a. actively attending classes, asking and discussing questions with instructors and classmates, b. reading lessons and lecture notes before and after classes, c. doing and submitting assignment and lab tasks earlier before deadline.

When encountering difficulties, you can get in-person helps or supports from the instructor. You can directly talk to the instructor after class, during office hours, or by appointment.

Student Evaluation

The learning outcomes will be assessed by the graded tasks with weights given in the following table.

Assessment category Weight
class activities 5%
7 labs 20%
6 assignments 60%
3 quizzes 15%
Total 100%

You are required to achieve a minimum of grade of 70% on the overall grade to pass the course.

Final letter grades are obtained by converting the numerical percentage grades by the following table. The instructor reserves a right to adjust the cut-off for final letter grade up or down by 2.0%.

A+ A A- B+ B B- F
90-10085-8980-8477-7973-7770-720-69

Learning Activities, Labs, Assignments, and Examinations

Class participations are mandatory for this course. 5% of grade is for class actitivies including participation, questioning, answering and discussion.

Labs and assignments will be posted 2 weeks before the due date. Labs and assignments are individual work, must be submitted through MyLS dropbox before 11:59 pm on due date. Late or missed submissions will not be marked except approved in advance.

Quizzes will be done in class at the scheduled time through MyLS quizzes. Quiz question types include selection questions and short answer questions on contents of lessons and lectures.

Lecture Schedule

Week Day Date Class Topic Reading
1 Mon Jan.05 1 Introduction to the course, EC concepts and requirements Lesson 1
Wed Jan.07 2 EC evolution, EC principles
2 Mon Jan.12 3 Java SE and Java EE Lesson 2
Wed Jan.14 4 EJB and EJB containers
3 Mon Jan.19 5 Java messaging, message driven bean Lesson 3
Wed Jan.21 6 Managed transactions and security
4 Mon Jan.26 7 Domain model, data persistence, entity beans Lesson 4
Wed Jan.28 8 ORM, JPQ, quiz 1
5 Mon Feb.02 9 Java web tier technologies Lesson 5
Wed Feb.04 10 Web services, Java WS
6 Mon Feb.09 11 Client tier I Lesson 6
Wed Feb.11 12 Client tier II
Next general calendar week is reading break, no classes
7 Mon Feb.23 13 Spring Framework Lesson 7
Wed Feb.25 14 Spring IoC, AOP
8 Mon Mar.02 15 OSGi Lesson 8
Wed Mar.04 16 OSGi based EC platforms, quiz 2
9 Mon Mar.09 17 Cloud computing, VM, containers, OCI, Docker Lesson 9
Wed Mar.11 18 Container orchestration, Kubernetes, OpenShift, DevOps
10 Mon Mar.16 19 Enterprise Big Data systems, Lambda architecture Lesson 10
Wed Mar.18 20 Distributed FS, NoSQL databases, and data streaming: HDFS, Cassandra, Kafka
11 Mon Mar.23 21 MapReduce for big data computing Lesson 11
Wed Mar.25 22 Hadoop MapReduce framework
12 Mon Mar.30 23 High performance big data framework, Apache Spark Lesson 12
Wed Apr.01 24 Enterprise AI computing infrastructures and architectures, quiz 3
13 Mon Apr.06 25 Enterprise Agentic AI components and applications Lesson 13
Wed Apr.08 26 AI-enabled EC with agent-oriented development and integration

Lecture schedule is subject to change according to the progress of class.

Course Work Schedule

Job Topic Work Type Weight Due week Due date
lab0 EC course software installation, configuration, and tests individual 2% 2 Saturday, January 17
lab1 Application server, session bean development and deployment individual 3% 3 Saturday, January 24
a1 EJB session beans individual 10% 3 Saturday, January 24
lab2 Data persistence and entity bean, Java messages and message driven bean individual 3% 5 Saturday, February 07
a2 EJB message driven bean, entity individual 10% 5 Saturday, February 07
lab3 Web tier, web services, client tier individual 3% 7 Saturday, February 28
a3 Web service development and client component development individual 10% 7 Saturday, February 28
lab4 Alternative EC technologies: Spring framework, OSGi; cloud deployment with Docker and microservices individual 3% 9 Saturday, March 14
a4 Spring component development and OSGi bundle development individual 10% 9 Saturday, March 14
lab5 Distributed data storage and processing, Cassandra, Kafka Hadoop, Spark, transformer based microservices individual 3% 11 Saturday, March 28
a5 HDFS, Hadoop MapReduce, and EC integration individual 10% 11 Saturday, March 28
lab6 AI components development and integration with LLMs individual 3% 13 Saturday, April 11
a6 Agentic AI components development and integration individual 10% 13 Saturday, April 11

University Course Policies

Laurier has several senate approved policy statements it requires instructors to include in their syllabus. Those with specific wording approved by senate are indicated specifically below.

  1. Academic Calendars: Students are encouraged to review the Academic Calendar for information regarding all services available on campus.
  2. Accessibility: Students with disabilities or special needs are advised to contact Laurier's Accessible Learning Centre for information regarding its services and resources. Review the Registration page for information about intake and documentation requirements. Deadlines: Students are responsible for meeting posted deadlines for registering with Accessible Learning and booking accommodated exams. Accessible Learning cannot guarantee accommodations for requests received after posted deadlines
  3. Plagiarism: the University has approved the following wording for inclusion on all course syllabi about the use of the institutionally supported plagiarism software tool. “Wilfrid Laurier University uses software that can check for plagiarism. If requested to do so by the instructor, students are required to submit their written work in electronic form and have it checked for plagiarism.” (Approved by Senate May 14, 2002)
  4. Academic Integrity: Laurier is committed to a culture of integrity within and beyond the classroom. This culture values trustworthiness (i.e., honesty, integrity, reliability), fairness, caring, respect, responsibility and citizenship. Together, we have a shared responsibility to uphold this culture in our academic and non-academic behaviour. The University has a defined policy with respect to academic misconduct. As a Laurier student you are responsible for familiarizing yourself with this policy and the accompanying penalty guidelines, some of which may appear on your transcript if there is a finding of misconduct. The relevant policy can be found at Laurier's academic integrity website along with resources to educate and support you in upholding a culture of integrity. Ignorance is not a defense.
  5. Late Assignment Policy: Late submissions won't be accepted and marked except under extreme situations. Refer to the Handbook on Undergraduate Course Management.
  6. Final Examinations: Students are strongly urged not to make any commitments (e.g., vacation) during the examination period. Students are required to be available for examinations during the examination periods of all terms in which they register. Refer to the Handbook on Undergraduate Course Management for more information. Refer to the Handbook on Undergraduate Course Management.

Intellectual Property

The educational materials developed for this course, including, but not limited to, lecture notes and slides, assignments and helps, examinations, and any materials posted to MyLearningSpace (exclude reference materials), are the intellectual property of the course instructor. These materials have been developed for student use only and they are not intended for wider dissemination and/or communication outside of a given course.

Posting or providing unauthorized audio, video, or textual material of lecture content to third-party websites violates an instructor's intellectual property rights, and the Canadian Copyright Act.

Recording lectures in any way is prohibited in this course unless specific permission has been granted by the instructor. Failure to follow these instructions may be in contravention of the university's Student Non-Academic Code of Conduct and/or Code of Academic Conduct, and will result in appropriate penalties. Participation in this course constitutes an agreement by all parties to abide by the relevant University Policies, and to respect the intellectual property of others during and after their association with Wilfrid Laurier University.

As a registered student of this course, you are allowed to download and hold all posted teaching materials of this course for your own reference. You are not allowed to disclose the course materials and information (including your solutions) of assignments, labs, examinations to others.

Kitchener/Waterloo campus resources

The University approved the inclusion of information about select wellness and safety services and supports on campus in the course information provided to students. (Approved by Senate November 28, 2011). Specific language (by campus) is provided below.

  1. Waterloo Student Food Bank-All students are eligible to use this service to ensure they’re eating healthy when overwhelmed, stressed or financially strained. Anonymously request a package online 24-7. All dietary restrictions accommodated.
  2. Waterloo Foot Patrol-519.886.FOOT (3668)- A volunteer operated safe-walk program, available Fall and Winter daily from 6:30 pm to 3 am. Teams of two are assigned to escort students to and from campus by foot or by van.
  3. Waterloo Student Wellness Centre519-884-0710, x3146 - The Centre supports the physical, emotional, and mental health needs of students. Located on the 2nd floor of the Student Services Building, booked and same-day appointments are available Mondays and Wednesdays from 8:30am to 7:30 pm, and Tuesdays, Thursdays and Fridays from 8:30 am to 4:15 pm. Contact the Centre at x3146, wellness@wlu.ca or @LaurierWellness. After hours crisis support available 24/7. Call 1-844-437-3247 (HERE247).