Course Teaching: [SOFTWARE CONSTRUCTION] [2022/2023]
Course Overview
In this course, students engage with concepts related to the construction of software systems at scale, building on their understanding of the basic building blocks of data structures, algorithms, and program and computer structures. The course covers technical topics in four areas: (1) concepts of design for complex systems, (2) object-oriented programming, (3) static and dynamic analysis for programs, and (4) concurrency. At the conclusion of this course, students will have substantial experience building medium-sized software systems in Java.
Course Snapshot
- Credits: [3]
- Audience: [Undergraduates]
- Delivery Mode: [In-person]
- No. of Students: [30]
- Students Evaluation: [N/A]
Teaching Objectives
Demonstrate detailed knowledge of Object-Oriented Programming principles.
Restate common design paradigms, architectural styles, and design patterns associated with these paradigms.
Recognize concurrency principles and sources of complexity in software.
Apply software construction techniques in software development projects to solve real-life problems.
Use Java API’s concurrent data structures in a thread-safe program.
Practice configuration management techniques and use tools, such as GitHub to construct quality software.
Work effectively as a member or leader in a software development project.
Assessment & Student Engagement
- Strategies for Engagement: (discussions, group work, etc.)
Assessment Methods Weighting Quizzes 15% Assignment 10% Project 25% Exam 50%
Reflections
- What worked well:
- What could be improved:
- Student feedback highlights:
Resources
- Joshua Bloch, Effective Java, Addison-Wesley Professional, 3rd Edition, 2017, ISBN: 978-0134685991
- Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Prentice Hall, 3rd Edition, 2004, ISBN: 978-0131489066
- Doug Lea, David Holmes, Joseph Bowbeer, Joshua Bloch, Tim Peierls, Brian Goetz, Java Concurrency in Practice, Addison-Wesley Professional, 1st Edition, 2006. ISBN: 978-0321349606 \
Testimonials (optional)
If you’ve taken this course and you’re visiting this site, feel free to drop a comment and share your thoughts or experience!