Вы находитесь на странице: 1из 3

Lahore University of Management Sciences

CS 360 – Software Engineering


Spring 2017


Instructor Dr. Suleman Shahid
Room No. 9-G23A
Office Hours TBA
Email suleman.shahid@lums.edu.pk
Telephone (042) 3560-8192
TAs TBA
TA Office Hours TBA
Course URL (if any) Course site on LMS

Course Basics
Credit Hours 3
Lecture(s) Nbr of Lec(s) Per Week 2 Duration 75 minutes
Recitation/Lab (per week) Nbr of Lec(s) Per Week 1 Duration 100 minutes
Tutorial (per week) Nbr of Lec(s) Per Week - Duration -

Course Distribution
Core Core for BS Computer Science
Elective Any
Open for Student Category Any
Close for Student Category Any

COURSE DESCRIPTION

The course teaches software engineering techniques based on the Software Engineering Body of Knowledge (SWEBOK) using SaaS+Agile+cloud as
the vehicle and Rails as the framework. Some of the topics that we cover are test-driven development, behavior-driven/user-centric design,
design patterns, legacy code and refactoring, deployment, and working effectively as part of a small team using version control with branches,
estimating progress toward customer-driven goals, work planning, etc.


COURSE PREREQUISITE(S)

• CS 200 Intro to Programming


COURSE LEARNING OBJECTIVES
In this course, students will:
• Understand the new challenges, opportunities, and open problems of SaaS relative to SWS (shrink-wrapped software).
• Take an SaaS project from conception through planning, development, assessment/testing, deployment, and operations,
experiencing the attendant challenges of each stage, using RoR for development and Cloud Computing for deployment.
• Understand and use agile development methodologies and tools, including lo-fi UI sketching, user stories, behavior-driven
development, version control for team-based development, and management tools for cloud-computing environments.
• Develop both technical and collaboration skills for working in "one-pizza" software teams.
• Understand and apply fundamental programming constructs and techniques including design patterns for software architecture,
higher-order functions, metaprogramming, reflection, etc. to improve the maintainability, modularity and reusability of their
code .
• Appreciate the challenges and complexity involved in the development of large-scale software intensive projects.

Lahore University of Management Sciences



Grading Breakup and Policy

Homeworks: 15%
Quiz: 20%
Midterms (3): 30%
Project: 35%



Examination Detail

Yes/No: Yes (3)
Combine / Separate: Combine
Midterm
Duration: 60 minutes
Exam
Preferred Date: TBA
Exam Specifications: closed book/closed notes


Yes/No: No
Combine Separate: N/A
Final Exam
Duration: N/A
Exam Specifications: N/A


COURSE OVERVIEW
Recommended Objectives/
Lecture Topics
Readings Applications
1. Course Intro
2. Introduction to SaaS and Agile Development Ch. 1
3. Introduction to SaaS and Agile Development Ch. 1
4. Project Management: Scrum, Pairs, and VCS Ch. 10
5. SaaS Framework: Intorduction to Ruby Ch. 3
6. The Architecture of SaaS Applications Ch. 2
7. Requirements: BDD and User Stories Ch. 7
8. SaaS Framework: Introduction to Rails Ch. 4
9. SaaS Framework: Introduction to Rails Ch. 4
10. SaaS Framework: Advanced Rails Ch. 5
11. SaaS Framework: Advanced Rails Ch. 5
12. Midterm 1
13. guest lecture
14. Testing: Test Driven Development Ch. 8
15. Project Management: Scrum, Pairs, and VCS Ch. 10
16. SaaS Framework: Advanced Rails Ch. 5
17. Project Management: Scrum, Pairs, and VCS Ch. 10
18. Maintenance: Legacy, Refactoring, and Agile Ch. 9
19. SaaS Client Framework: Javascript Introduction Ch. 6
20. SaaS Client Framework: Javascript Introduction Ch. 6
21. Midterm 2
22. Design Patterns for SaaS Classes Ch. 11
23. Design Patterns for SaaS Classes Ch. 11
Lahore University of Management Sciences
24. Performance, Releases, Reliability, and Security Ch. 12
25. Performance, Releases, Reliability, and Security Ch. 12
26. Midterm 3
27. Project Presentations
28. Project Presentations




Textbook(s)/Supplementary Readings
1 Engineering Software as a Service: An Agile Approach Using Cloud Computing
By Armando Fox and David Patterson

Вам также может понравиться