Spring 2025 - MSE 152 D100
Digital Computing Fundamentals (3)
Class Number: 6229
Delivery Method: In Person
Overview
-
Course Times + Location:
Jan 6 – Apr 9, 2025: Tue, 8:30–11:20 a.m.
Surrey
-
Instructor:
Amr Marzouk
amm10@sfu.ca
1 778 782-8149
-
Prerequisites:
CMPT 130.
Description
CALENDAR DESCRIPTION:
Delve into critical topics such as code version control, multi-file project build systems, unit and integration testing, advanced C-programming topics including pointers, data structures, memory management, design patterns, device drivers, and real-world case studies.
COURSE DETAILS:
- Module 1: Introduction to Code Version Control
- Module 2: Build Systems for Multi-File Projects
- Module 3: Fundamentals of Unit and Integration Testing
- Module 4: Advanced C Programming Concepts – Pointers (Part 1)
- Module 5: Advanced C Programming Concepts – Pointers (Part 2)
- Module 6: Memory Management in C Programming
- Module 7: Data Structures in C (Part 1)
- Module 8: Data Structures in C (Part 2)
- Module 9: Introduction to Design Patterns
- Module 10: Basics of Device Drivers in C
- Module 11: Real-World Case Studies in C Programming
- Module 12: Final Project: Development and Presentation
COURSE-LEVEL EDUCATIONAL GOALS:
- Understand the importance and use of version control systems in software development.
- Build and manage multi-file projects using appropriate build systems.
- Apply testing techniques to improve software reliability.
- Develop proficiency in advanced C programming concepts like pointers and memory management.
- Implement and utilize data structures to solve practical problems.
- Explore design patterns and their applications in software development.
- Gain a foundational understanding of device drivers and hardware interaction.
- Analyze and draw insights from real-world software projects.
- Design and present a final project integrating key course concepts.
Grading
NOTES:
- Projects (30%)
- Laboratory (20%)
- Tests (50%)
Materials
REQUIRED READING NOTES:
Your personalized Course Material list, including digital and physical textbooks, are available through the SFU Bookstore website by simply entering your Computing ID at: shop.sfu.ca/course-materials/my-personalized-course-materials.
Registrar Notes:
ACADEMIC INTEGRITY: YOUR WORK, YOUR SUCCESS
SFU’s Academic Integrity website http://www.sfu.ca/students/academicintegrity.html is filled with information on what is meant by academic dishonesty, where you can find resources to help with your studies and the consequences of cheating. Check out the site for more information and videos that help explain the issues in plain English.
Each student is responsible for his or her conduct as it affects the university community. Academic dishonesty, in whatever form, is ultimately destructive of the values of the university. Furthermore, it is unfair and discouraging to the majority of students who pursue their studies honestly. Scholarly integrity is required of all members of the university. http://www.sfu.ca/policies/gazette/student/s10-01.html
RELIGIOUS ACCOMMODATION
Students with a faith background who may need accommodations during the term are encouraged to assess their needs as soon as possible and review the Multifaith religious accommodations website. The page outlines ways they begin working toward an accommodation and ensure solutions can be reached in a timely fashion.