Course Syllabus
- Course Introduction
- Syllabus & Schedule
- Where to go for Help?
- Tools & Textbooks
- Support & Other Info
NOTE: Some links on this page may only be accessible to registered students.
Welcome to CS361: Software Engineering I
This course will introduce you to tools and methods for real-world software development. You will be working in teams (you can choose your teammates) of about five on non-programming and programming assignments. Your team will use the Agile Scrum approach to software project implementation and management (starting later in the term). During this course, you will learn how to plan out and specify what your software should do and how users should experience it, how to evaluate how well your software design reflects those specifications, how to use the microservices high-level architecture, how to structure your work and teammwork in a way that supports iterative growth and ongoing contributions from multiple developers, and other non-technical and technical skills and concepts. We will explore some topics in-depth, and others just enough for you to get the idea so that, when you're working on future software projects, you can decide whether or not the methods could help with what you're doing.
This course does NOT aim to teach the "best" way to manage software projects or to create software. There are a huge variety of software creation environments. They all work differently. Even teams within the same organization can create software is totally different ways. Instead, this course aims to show you pieces of software methodology that can be incorporated into many software creation environments.
Course Learning Outcomes
By the end of this course, you should be able to...
- Select the most appropriate software process model to use in a particular situation
- Synthesize requirements for a realistic software system and write a requirements specification document
- Produce professional-quality software-related documents
- Model system requirements using one or more semi-formal notations such as UML, dataflow diagrams, entity-relationship diagrams, or state diagrams
- Design software systems at an architectural level and at lower levels, using one or more techniques, such as object-oriented design or agile methods, and express these designs in design specification documents
- Validate designs and adjust the specification or design as necessary
- Describe several methods of estimating the cost and developing a schedule for a programming project
- Participate effectively in a team environment
Meet the Instructor
Hello, everyone! I'm Lara Letaw, your CS361 instructor. This is my favorite course to teach and develop! Each term, I create a new iteration based on student feedback. This term, you'll be learning about one of the most exciting new developments in software engineering in the last 10 years: the rise of the microservices architecture. You will create your own microservice and have it use data from microservices created by your classmates.
While you'll implement your project individually, you'll be coordinating with teammates throughout the term. This gives you the benefit of learning from your classmates---people with diverse life experiences---without the drawback of relying on classmates for large portions of your grade.
There are also extra credit assignments throughout the term where you can give feedback on how the course is going for you. It's this feedback I'll use to keep improving the course---in the future or maybe even this term.
I'm really excited to be here with you and hope these months go well for you! Also, please keep in mind that if you encounter any difficulties I might be able to help with, please contact me and we can talk over email, Slack, or during office hours. Your wellness is important and there are different kinds of accommodations I can make. A couple resources:
Let's have a successful term!
NOTE: Some links on this page may only be accessible to registered students.
Syllabus & Schedule
- CS361 Spring 2021 Syllabus (PDF)
- CS361 Spring 2021 Schedule (Word)
Syllabus Quiz
After completing all "Start Here" module readings, take this quiz:
NOTE: Some links on this page may only be accessible to registered students.
Communication Policy
I will be logging into the course on a regular basis, approximately 3-5 times each week. Please post all course-related questions on Ed Discussion so the whole class may benefit from the conversation. Please send an email to your instructor or TAs for matters of a personal nature. When you email your TA or myself, you should expect a response within 48 hours. We will try to grade assignments within one week after their due date.
Contact Information & Office Hours
TA office hours start Week 2 (Week of April 5, 2021).
- General course questions? Post to Ed Discussion (new this term).
- Instructor: Lara Letaw - letawl@oregonstate.edu - Office hours by appointment
- TA: Pannapat Chanpaisaeng - chanpaip@oregonstate.edu - Monday 4:00-5:00pm and Tuesday 4:00-5:00pm (via Microsoft Teams)
- TA: Tianle Yuan - yuant@oregonstate.edu - Wednesday 3:00-4:00pm and Thursday 3:00-4:00pm (via Microsoft Teams)
- TA: Turgay Caglar - caglart@oregonstate.edu - Monday 9:00-10:00am and Tuesday 9:30-10:30am (via Microsoft Teams)
NOTE: Some links on this page may only be accessible to registered students.
Course Tools & Textbooks
- Ed Discussion (new this term)
- Microsoft Teams (new this term)
Academic or Student Support Services
For all other academic and student support services, refer to the Student Services link found in the course menu.
The following services are available to all Ecampus students:
- Ecampus Success Counseling
- Disability Access Services
- The Writing Center and Online Writing Lab
- The Valley Library and Ecampus Library Services
- Ecampus Enrollment & Student Services
- Check Your Computer test - ensure you have installed the minimum required technology for Ecampus courses.
Accessibility Statements
This course uses technologies that may support accessibility in different ways. Please refer to the accessibility statement for each technology provider for details as to the level and types of accessibility that are supported.
Follow this link to access Accessibility Statements for commonly used software.
Accessibility Tools for Canvas
The following tools are available within your Ecampus course.
ReadSpeaker - is a tool that reads text on Canvas course pages aloud.
TextAid - is an additional tool that allows users to have nearly any text highlighted and read aloud, including documents, Web sites, text composed by a user, and more. For more information, please visit ReadSpeaker Text Aid.
Canvas Technical Questions
If you have a technical issue or question when using Canvas, 24/7 support is available in Canvas via chat, phone, or e-mail through the Help link in the menu on your left .
Additional technical support (use of software/browsers) can be accessed through the OSU Computer Helpdesk.
Copyright & Ownership of Materials
- The materials on this course website are only for the use of students enrolled in this course for purposes associated with this course and may not be retained or further disseminated.
- When copyright permission is required, Ecampus has contacted the copyright owner.
- When a fair use determination has been made, this has been documented.
- Images that are not cited have been obtained from the public domain or via a paid subscription or are images taken by the instructor.
Please contact the instructor if you have any questions about the copyright and ownership of materials presented in this course.
Peer Tutoring
(Free) OSU Online CS peer tutoring happens via Zoom, and there are two ways you can engage: drop-in tutoring hours and scheduled tutoring appointments.
Privacy Policies for External Tools
Follow this link to access Privacy Policies for commonly used external tools that require the user to create an account.
Course Summary:
Date | Details | Due |
---|---|---|