Course Syllabus

NOTE: Some links on this page may only be accessible to registered students.

Welcome to CS361: Software Engineering I

Start Here

Please begin the course by clicking the Start Here button.

Start Here Button

This course will introduce you to tools and methods for real-world software development. You will be working in teams of three to five people (you can choose your team) on non-programming and programming assignments. Your team will use the Agile Scrum framework for 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 use the microservices high-level architecture, how to structure your work and teamwork 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 and they each work differently. Even teams within the same organization can create software in vastly different ways. Instead, this course was built to teach a selection of software engineering methods that can be incorporated into many software creation environments.

Course Learning Outcomes

By the end of this course, you should be able to...

  • [CLO 1] Select the most appropriate software process model to use in a particular situation
  • [CLO 2] Synthesize requirements for a realistic software system and write a requirements specification document
  • [CLO 3] Produce professional-quality software-related documents
  • [CLO 4] Model system requirements using one or more semi-formal notations such as UML, dataflow diagrams, entity-relationship diagrams, or state diagrams
  • [CLO 5] 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
  • [CLO 6] Validate designs and adjust the specification or design as necessary
  • [CLO 7] Describe several methods of estimating the cost and developing a schedule for a programming project
  • [CLO 8] Participate effectively in a team environment

Course & Instructor Introduction

 

A smiling womanInstructor & Course Designer: Lara Letaw

Hello! I'm excited to teach this course. After three years as a full stack web developer, over a decade of freelancing experience, an MS in Computer Science (Software Innovation), and a few years researching inclusive software design, what I've found the most joy in is teaching and continually improving online computer science courses. When you have questions about the course or the course material, feel free to email me at letawl@oregonstate.edu or post on the Ed board. Talk to you soon!

 

NOTE: Some links on this page may only be accessible to registered students.

Syllabus & Schedule

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

The instructor will be log into the course on a regular basis, approximately 3-5 times each week. Please post all course-related questions on Ed Discussion (see sidebar) 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 the instructors, you should expect a response within 48 hours. We will try to grade assignments within one week after their due date.

Contact Information & Homework Help

TA homework help sessions start Week 2, which is the week of April 8 (via Microsoft Teams---see sidebar) and the TA information below will be updated by then.

  • General course questions? Post to Ed Discussion (see sidebar).
  • Instructor:
  • Homework help is not available on university holidays or weekends.
  • TA homework help availability (Pacific time zone) via Teams.
TA name and email Mondays Tuesdays Wednesdays Thursdays Fridays

Tyler Gebel - gebelt@oregonstate.edu

9am - 11am

Kateryna Gnedash - gnedashk@oregonstate.edu

11.00 am - 1.00 pm

Summit Haque - haquesu@oregonstate.edu

3:00 - 5:00 PM

Jacob Kieser - kieserj@oregonstate.edu 

12:30pm - 2:30pm

Anson Poon - poonke@oregonstate.edu

TBD TBD TBD TBD TBD

Alexandria Wilson - wilsalex@oregonstate.edu

1:00pm - 2:00pm

 

NOTE: Some links on this page may only be accessible to registered students.

Course Tools & Textbooks

Badge with a book in the middle and the words "Affordability Matters" around the circular edge of the badge, around the book
  • Textbook: "Handbook of Software Engineering Methods" Second edition. (Letaw, 2024)
  • Discussion board: Ed Discussion (see sidebar)
  • Real-time chat (for TA homework help sessions): Microsoft Teams (see sidebar)

Accessibility Statements & Privacy Policies

Access Accessibility Statements for commonly used software.

Access Privacy Policies for commonly used external tools that require the user to create an account.

Microsoft Teams

Access Accessibility Statement for Microsoft Products

Access Privacy Policy for Microsoft Teams

Ed Discussion

Access Accessibility Statement for Ed Discussion

Access Privacy Policy for Ed Discussion

Need a MySQL Database? Instructions...

Database host name is: classmysql.engr.oregonstate.edu

Username is: cs361_ONIDusername
Default password is: last 4 digits of your OSU ID number

Web access: https://classmysql.engr.oregonstate.edu

NOTICE:

Please change your password the first time you access your account. DO NOT use your ONID password as this password could be in config files and is much less secure. To change your password, run the SQL statement:

SET PASSWORD = PASSWORD('password')

Access is only granted from the oregonstate.edu domain. It's enforced at the socket level by the OS on the physical db server. NO EXCEPTIONS. You can access the database either from on campus or by running the campus VPN client:

https://is.oregonstate.edu/vpn

If you forget your password, simply e-mail support saying you forgot it and we'll reset it to the default. Please DO NOT e-mail us the new password. We don't want to know it and we will not reset your account to that.

VERY IMPORTANT:

If you want to keep your data please export it at the end of the term. All databases and associated accounts will be deleted the week after the term ends. No exceptions.

Please note, we will help with technical problems such as inability to access your database. We will defer questions about queries or homework to your instructor.

NOTE: Some links on this page may only be accessible to registered students.

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:

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

See Alternative Formats

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