Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

SE 324

Software Construction
COURSE I NTRODUCTION
(WEEK 1)
Dr. Ftoon Kedwan

1
Outline:
• Welcome & Introduction
• What this course is about?
• Importance of this Course
• Course Syllabus
• Course Information & Learning Outcomes
• Important Dates & Grade Plan
• Course Topics & Books
• UPM Policies & Regulations
• Rules of Success in this Course
Course Main Objectives?
• Exposing the students to professional software construction techniques during software
development project.

• Demonstrate the key construction life cycle models.

• Interpret key practical construction considerations such as design, languages, coding, testing, quality
and reuse.

• Evaluate key construction technologies in a typical software construction project.

• Explain the application of software construction tools such as GUI builders, unit testing tools,
profiling, performance analysis and slicing tools.
What this course is about?
• The creation of software systems at scale, through a combination
of coding, verification, unit testing, integration testing and
debugging.
Topics Covered in the Course
• The course covers technical topics in fundamental areas, such as:
o Design for complex systems

o Dealing with change


o Building for verification

o Concurrency

5
Importance of SE 324 Course

• The course exposes the students to real-world software construction


technologies and tools via challenging hands-on exercises.
Course Learning Outcomes
• Knowledge:
o Demonstrate detailed knowledge of Object-Oriented Programming principles.
o Restate common design paradigms, architectural styles, and design patterns associated with these paradigms.
o Recognize concurrency principles and sources of complexity in software.

• Skills:
o Apply software construction techniques in software development projects to solve real-life problems.
o Use Java API’s concurrent data structures in a thread-safe program.
o Practice configuration management techniques and use tools, such as GitHub, to construct quality software.

• Competence:
o Work on a team project related to software construction.
o Work effectively as a member or leader in a software development project.
Contact
No List of Topics
Hours
1 Software Construction Fundamentals 3 (1 week)
2 Construction Tools 3 (1 week)
3 Construction Technologies and Techniques 6 (2 week)
4 API Design and Use 6 (2 week)
5
6
Middleware
Construction Methods for Distributed Software
3 (1 week)
6 (2 week)
Course Topics
7 Concurrency Primitives 6 (2 week)
Executable Models, Runtime Issues, and Exception
8 Handling 3 (1 week)

9 Integration 3 (1 week)
10 Performance Analysis and Tuning 3 (1 week)
11 Construction Standards and Quality 3 (1 week)
Total 45
Books:
Required Textbook:
• 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\

Recommended Book:
• Andy Oram, Greg Wilson, Beautiful Code Leading Programmers Explain How They Think, AO'Reilly Media,
1st edition, 2007, ISBN: 978-0596510046
Percentage
Week of Total
# Assessment task*
Due Assessment
Score Important
1 Homework 7 and 14 10% Dates &
Project 15 25%
2
Quizzes Every 3
rd
10%
Grading Plan
3
Week
Participation 5%

4 Midterm 7 20%
5 Final Exam 17-18 30%
6 Total 100%
Policies & Regulations
• Attendance Policies
– Strictly follow the UPM policies on attendance, otherwise you might be denied (DN) in the course.

• Late Submission Policies


– Submit your work on date specifies, otherwise it will be considered late submission, & you will lose 1 mark for every late day.

• Integrity Policies
– Do not copy other people’s work. It comes under the plagiarism.

• In Class Participation
– A student’s success in this course is based on student’s participation through active engagement (Listening, Asking Questions,
Providing Comments/Feedback, Debating).

• Communication
– Before emailing me, you should check the course group to see if the requested information is already there.
– Include the course number in the subject line of the email.
Questions?

You might also like