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:
- Concepts, characteristics, requirements, and principles of Enterprise Computing
- Service Oriented Architectures (SOA), Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS)
- Component-oriented programming for service component construction
- Java based technologies for component development: Java Enterprise Edition (JavaEE), EJB Enterprise Java Beans (EJB), Spring framework, OSGi framework.
- Java based technologies for component deployment and services: EJB and web containers, JBoss application server (Enterprise Application Platform), Spring IoC container, OSGi container
- Open Container Initiative (OCI) for application/component deployment, Docker, Kubernetes
- Distributed computing architectures for big data: distributed file systems and databases, SQL/NoSQL/Graph databases, distributed/parallel algorithms, MapReduce, Lambda architecture
- Big data systems: Hadoop, Spark, Cassandra, Kafka, Neo4j
- Enterprise AI computing architectures with large language models (LLMs) and agentic AI application development and deployment.
- 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-100 | 85-89 | 80-84 | 77-79 | 73-77 | 70-72 | 0-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.
- Academic Calendars: Students are encouraged to review the Academic Calendar for information regarding all services available on campus.
- 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
- 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)
- 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.
- Late Assignment Policy: Late submissions won't be accepted and marked except under extreme situations. Refer to the Handbook on Undergraduate Course Management.
- 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.
- 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.
- 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.
- 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).