Software Analysis and Design - Syllabus
Software Analysis and Design - Syllabus
Course Description
Software analysis and design proposes optimal software solutions to solve complex problems. In this hands-on course,
students will apply methodologies, frameworks, and fundamentals and techniques of design, implementation, and
software architecture to demonstrate real world applications. Main topics include object-oriented analysis and design,
software architecture and design principles, quality attributes of software architecture, stakeholder perspectives and team
approaches, mobile applications, service-oriented architecture and microservices-based web applications, and software
engineering perspectives regarding robotics and autonomous systems.
Learning Outcomes
Technology Requirements
Hardware
● Personal computer with major OS and able to run Java IDE, Visual Studio (to create C# Projects), Android SDK
● Having a Mac computer or access to a Mac computer is highly recommended t o complete week 5 module
iOS App or Android App (you need at least one to complete some coursework)
● For iOS app: XCode 10, programming language Swift (no Objective-C) - strongly preferred
● For Android app: Android SDK using Java
Readings
At the graduate level, inquiry, research, and critical reading are part of the learning experience. To support your learning
process and success in completing projects and other assessments, there are readings provided throughout the course.
Course Content
Instruction
Video Lectures
Interview Videos
Live Events (e.g. Live Sessions hosted by the faculty and Virtual Office Hours hosted by Teaching Assistants)
Readings
Tutorials
Assessments
Lecture videos: The concepts you need to know will be presented through a collection of video lectures. You may
stream these videos for playback within the browser by clicking on their titles or download the videos. You may also
download the slides that are used in the videos. The lecture slides, where available, are provided with the video.
Knowledge Checks: Designed to support your learning, knowledge checks are short ungraded quizzes to test your
knowledge of the concepts presented in the lecture videos. You may take your time, review your notes, and learn at your
own pace because knowledge checks are untimed. With unlimited attempts, you may retake knowledge checks as often
as you would like at any point during the course. You are encouraged to read the feedback, review your answer choices,
and compare them to the correct answers. With the feedback as your guide, you are highly encouraged to use knowledge
checks as opportunities to study for other assessments and tasks in the course.
Discussion Forums: This course has weekly discussion forums. To maximize discussion forums as positive, shared
learning opportunities, please do the following:
1. Include the exact name of the course component as it appears in the course you are referencing in your question.
2. Provide the direct link to the course component and other directional information, such as the page number,
timestamp, etc.
3. Ask specific questions. If you are specific, we can give you helpful advice and targeted information.
4. Provide context. We are best able to address your questions when given more information. For example, list and
explain what you’ve tried so far and the results. If you do this, we can provide better feedback and make
suggestions to lead you in the right direction. Your classmates will also be able to learn from you and support or
redirect your thinking. The more information you provide, the more helpful we can be.
5. Avoid re-asking questions. The discussion forms are a wonderful tool not just for asking questions, but also for
checking to see if your question was already asked.
6. Professional communication should be used at all times. Review the netiquette resource in the Welcome and
Start Here section of the course.
Graded Quizzes: This course has two types of graded quizzes: (1) graded quizzes throughout each week and (2) a
graded quiz at the end of each week that covers the content from the entire week. The graded quizzes throughout the
week typically include 10 multiple choice questions and you have one (1) attempt in a single-session of a timed 30
minutes to complete these quizzes. The graded quiz at the end of each week typically includes 15 multiple choice
questions and you have one (1) attempt in a single-session of a timed 45 minutes to complete these quizzes. Students will
be able to review these assessments and use them to study until the end of the seventh (7th) week of the course. There is
an automatic 10% grade penalty for each day late past the deadline.
Proctored Exams: You will have two (2) proctored exams. This includes: Exam 1 (covering content from Week 1 to
Week 5), and Exam 2 (covering content from Week 1 to Week 7). You have 120 minutes to complete each exam and it
must be completed in a single session. Once you open the exam, your testing session begins. You will be allowed one (1)
attempt for each exam. For specific allowances permitted during the exam, please review the Welcome and Start Here
section of the course. No late exams will be permitted or accepted.
For each exam, you areProctorU is an online proctoring service that allows students to take exams online while ensuring
the integrity of the exam for the institution. You must set up your proctoring 72 hours prior to taking your exams, so
complete this early. Additional information and instructions are provided in the Welcome and Start Here section of the
course.
Projects: This course includes five (5) projects. All projects are provided in the first week of the course in the Welcome
and Start Here section, so you can preview what is expected and design your own learning schedules to complete these
on time. At the beginning of specific weeks when they are due, they will be re-introduced and included on your weekly
task list each week. Projects are due at the end of the second week, third week, fourth week, fifth week, and sixth week of
the course. A submission area is provided at the end of those weeks. The projects are course team-graded. There is an
automatic 15% grade penalty for each day late past the deadline.
Portfolio: All students in the non-thesis degree program must complete a project portfolio. The Portfolio for this course
must include all five projects completed for 40% of the grade in this course. Thoroughly read through the official
Computer Science Project Portfolio Instructions for more details regarding this required program component. Students
have found the FAQ sections particularly helpful. The Portfolio submission is due within two weeks of your final grade.
Course Grade Breakdown
Grade Scale
NOTE: You must earn a cumulative grade of 70% to earn a “C” in this course.
A+ 97% - 100%
A 90% - 96%
B+ 87% - 89%
B 80% - 86%
C+ 77% - 79%
C 70% - 76%
D 60% - 69%
E <60%
Course Schedule
Live Events hosted by the faculty will be recorded and uploaded to the course.
Virtual office hours are recorded, but not uploaded into the course.
Assignment Deadlines
Unless otherwise noted, all graded work is due on Sundays at 11:59 pm Arizona time for the week it is
assigned. For graded quizzes, there is an automatic 10% grade penalty for each day late past the deadline. No late
exams will be permitted or accepted and will result in a score of zero points (0). For projects, there is an automatic 15%
grade penalty for each day late past the deadline.
Assignments
● Knowledge Checks
● Graded Quizzes (Due by 3/22/2020 at 11:59 PM AZ time)
Assignments
● Knowledge Checks
● Graded Quizzes (Due by 3/29/2020 at 11:59 PM AZ time)
● Graded Project (Due by 3/29/2020 at 11:59 PM AZ time)
Assignments
● Knowledge Checks
● Graded Quizzes (Due by 4/5/2020 at 11:59 PM AZ time)
● Graded Project (Due by 4/5/2020 at 11:59 PM AZ time)
Assignments
● Knowledge Checks
● Graded Quizzes (Due by 4/12/2020 at 11:59 PM AZ time)
● Graded Project (Due by 4/12/2020 at 11:59 PM AZ time)
Assignments
● Knowledge Checks
● Graded Quizzes (Due by 4/19/2020 at 11:59 PM AZ time)
● Graded Project (Due by 4/19/2020 at 11:59 PM AZ time)
Proctored Exam 1
Assignments
● Exam 1 - Timed, Proctored
● Available from 4/18/2020 at 12:01 AM - 4/20/2020 11:59 PM AZ time
Week 6/Module 6: Architecting Service Oriented and Microservices Based Web
Applications
Lesson 1: Introduction to Service Oriented Computing (SOC)
Lesson 2: Service Oriented Architecture Foundations and SOC Application Design
Principles
Lesson 3: SOC Application Design and Implementation Case Study
Lesson 4: Microservices Architecture Principles
Assignments
● Knowledge Checks
● Graded Quizzes (Due by 4/26/2020 at 11:59 PM AZ time)
● Graded Project (Due by 4/26/2020 at 11:59 PM AZ time)
Assignments
● Knowledge Checks
● Graded Quizzes (Due by 5/3/2020 at 11:59 PM AZ time)
Proctored Exam 2
Assignments
● Exam 2 - Proctored
● Available from 5/2/2020 at 12:01 AM - 5/4/2020 11:59 PM AZ time
Policies
Please note that the course syllabi is subject to change without advance notice at the discretion of the faculty.
All ASU and Coursera policies will be enforced during this course. For policy details, please consult the MCS
Graduate Handbook 2019 - 2020 and/or the MCS Onboarding Course.
Academic Integrity
Students in this class must adhere to ASU’s academic integrity policy, which can be found at
https://provost.asu.edu/academic-integrity/policy). Students are responsible for reviewing this policy and
understanding each of the areas in which academic dishonesty can occur. In addition, all engineering students
are expected to adhere to both the ASU Academic Integrity Honor Code and the Fulton Schools of Engineering
Honor Code. All academic integrity violations will be reported to the Fulton Schools of Engineering Academic
Integrity Office (AIO). The AIO maintains records of all violations and has access to academic integrity
violations committed in all other ASU college/schools.
Disclaimer
Information in the syllabus may be subject to change without advance notice.
Course Faculty