Course Syllabus
Note: This course code has changed from CIT 262 to ITM 350. You may occasionally see references to the old course code or title.
Overview
To provide value, software must be delivered to end-users. When aligned with agile principles, software should be delivered continuously. This helps customers see software changes as evidence that their product value is improving.
The true evidence that the product's value is improving will be measured by market-testing software with customers. Market testing, however, assumes that the software meets performance expectations. Performance expectations should be measured both qualitatively and quantitatively, leading to a backlog of work for a software team.
Following agile principles, you will lead your team for a period known as a sprint. During this sprint, team members collaboratively progress through the backlog of work.
Central for many software startups is the use of cloud technology to host and manage software. This course teaches the use of the cloud through hands-on interaction with a cloud platform. Running code in the cloud is most successfully managed when running inside of virtual containers (ex: Docker containers). You will learn to create containers on their own laptops, and then to mirror or deploy them to the cloud.
Beyond this, you will create a code deployment pipeline that monitors Github for changes and automates this process. The concept of disruption, explaining the wildly popular cloud, is discussed in depth in this course. Understanding disruption will prepare you for the many innovations to come, with strategies to adopt them successfully.
Sprint Schedule
| Sprint Number | Weeks | Areas of Study |
|---|---|---|
| 1 | 2-4 | Git and The Testing Pyramid |
| 2 | 5-7 | Docker, Containers, and Cloud |
| 3 | 8-10 | CICD Pipelines and Quality Gates |
| 4 | 11-13 | Load Testing and Autoscaling |
Requirements
Prerequisites
CSE 111 is required prior to taking this course.
Technology Requirements
Technology requirements for this course is outlined in Software/Hardware for CIT & WDD Courses.
Required Resources
This course uses a low-cost, auto-access online textbook, called the Innovator's Dilemma, written by Clayton M. Christensen. Brother Christensen is a world-renowned author on business, and this book was revolutionary, creating a new term called disruption.
The book can be accessed digitally here free: https://byui.idm.oclc.org/login?url=https://search-ebscohost-com.byui.idm.oclc.org/login.aspx?direct=true&AuthType=ip&db=nlebk&AN=1917647&site=eds-live&scope=site&ebv=EK&ppid=Page-__-18
You can purchase a physical copy for around $20, but it the physical copy is not required. It is, however, a worthwhile investment, as you will refer to it throughout your career.
| Resource Title/Description (books, software, etc.) |
Author/Provider | Ed./Vol. | 13-Digit ISBN (if applicable) |
|---|---|---|---|
| The Innovators Dilemma | Christensen, C. M. | 978-1633691780 |
Structure
Course Outcomes (CO)
- Student knows whether their software startup company is addressing a sustaining or current market need, or a disruptive new market opportunity.
- Student makes continuous delivery of working software possible.
- Student empowers their customers to measure product performance.
- Student contributes significantly to a Scrum team by leading the team as the Scrum Master
Major Assignments
The table below is meant to help you see the relevance of each major assignment as it pertains to the course outcomes (CO).
| Major Assignment | Description | CO# |
|---|---|---|
| Automatically Test Your Code | Write a javascript function, and an automated test for it. | 3 |
| Write an API | Write an API that listens for HTTP requests | 2 |
| Manually test your API | Use CURL to manually test your API and see if it's working | 2 |
| Add your API to a container | Write a Dockerfile to deploy your API in a Docker container | 2 |
| Run API tests in a container | Test your API using mocha and node-fetch inside Docker | 3 |
| Lead your team as Scrum Master | Lead weekly team meetings and help your team progress | 4 |
Weekly Patterns
The table below displays typical weekly activities, due dates, and activity descriptions.
| Due Date* | Learning Model | Activity Title | Description |
|---|---|---|---|
| Midweek | Read | DevOps Concept | Read about a DevOps Concept |
| Midweek | Watch | DevOps Demonstration | Watch a video about a DevOps concept |
| Midweek | Individual Hands on assignment(s) | Apply the principles you learned in hands on manner | |
| End of Week | Read | Innovator's Dilemma | Read a chapter about Innovation and Disruption |
| End of Week | Teach one Another | Team Assignment |
Use the hands-on skills you've learned to help your team get un-blocked. |
*Set your time zone within user preferences so the dates and times for course activities will display correctly for your time zone.
Learning Model
This course employs the BYU-Idaho learning model. Students prepare by completing short reading assignments and activities related to the weekly topics. They teach one another in their Scrum meetings, where they also ponder and discuss how to best complete their coursework. Students prove their learning by completing their assignments.
Expectations
Feedback
You can expect to receive grades and feedback within 7 days of the due date for all assignments.
Workload
You should expect to work between nine and twelve hours per week between reading, videos, hands-on exercises, and team activities.
Group Work
Each week you learn principles and hands-on skills that apply those concepts. You then work as a team to apply those same principles and skills. The weekly meeting with your team is designed to help each other on the team assignments. If you get stuck, the team meeting is a great place to ask for help. If you are caught up, and a team member needs help, spend the time needed to collectively get them caught up (that is called "swarming" in Agile).
Late Work
As a sign of professionalism and respect, you should complete your work on time. However, your instructor has the discretion to accept late work or extend due dates as appropriate.
Retries
All quizzes and assignments can be submitted up to three times.
Extra Credit
Your instructor may allow extra credit. Look for information related to extra credit in the course modules and announcements from your instructor.
Grading Scale
| Letter Grade | Percent |
|---|---|
| A | 100% - 93% |
| A- | 92% - 90% |
| B+ | 89% - 87% |
| B | 86% - 83% |
| B- | 82% - 80% |
| C+ | 79% - 77% |
| C | 76% - 73% |
| C- | 72% - 70% |
| D+ | 69% - 67% |
| D | 66% - 63% |
| D- | 62% - 60% |
| F | 59% and lower |
University Policies
Students with Disabilities
Brigham Young University-Idaho is committed to providing a working and learning atmosphere that accommodates qualified persons with disabilities. If you have a disability and require accommodations, please contact the Disability Services Office at (208) 496-9210 or visit their website and follow the Steps for Receiving Accommodations. Reasonable academic accommodations are reviewed for all students who have qualified documented disabilities. Services are coordinated with students and instructors by the Disability Services Office.
This course may require synchronous meetings. If you are currently registered with the Disability Services Office and need an interpreter or transcriber for these meetings, please contact the deaf and hard of hearing coordinator at (208) 496-9219.
Other University Policies
Student Honor and Other Policies
Please read through the document called University Policies. It gives important information about the following topics:
- Student Honor
- Academic Honesty
- Student Conduct
- Sexual Harassment
- Student with Disabilities
- Complaints and Grievances
- Copyright Notice
Go to the Student Resources module to review further resources and information.
Course Summary:
| Date | Details | Due |
|---|---|---|