<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Home on SDL: Software Development Lab</title><link>https://sdl-56e997.gitlab.io/</link><description>Recent content in Home on SDL: Software Development Lab</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://sdl-56e997.gitlab.io/index.xml" rel="self" type="application/rss+xml"/><item><title/><link>https://sdl-56e997.gitlab.io/assignments-both/contribution-report/contribution-report/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/assignments-both/contribution-report/contribution-report/</guid><description>&lt;div align=center&gt;
&lt;h1 id="project-contribution-report-for-sdl"&gt;Project Contribution Report for &lt;a href="./"&gt;SDL&lt;/a&gt;&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Write a PDF as directed below. Use sections of reports, screenshots of
GitLab, screenshots of your application, sections of code,
portions of documents, or other materials to provide evidence of
contribution in each of the following areas. Be sure to include the
material in the report; do not link to other documents. Be careful to
keep your evidence relevant; it's quite preferable to provide one or
two detailed examples and then describe your other work rather than
simply dump everything you did into the report.&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/assignments-both/peer-eval/peer-eval-form/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/assignments-both/peer-eval/peer-eval-form/</guid><description>&lt;h2 id="evaluation-used-by-dr-hasker"&gt;Evaluation used by Dr. Hasker&lt;/h2&gt;
&lt;p&gt;List each of the other team members. For each, give three numeric evaluations:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Their contribution to the product
Their contribution to quality efforts
Their contribution to team process
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Use a scale from 1-5 for each:&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/assignments-both/presentations/design-review/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/assignments-both/presentations/design-review/</guid><description>&lt;h1 id="design-review"&gt;Design Review&lt;/h1&gt;
&lt;p&gt;Teams are asked to present their system design in the fourth sprint of the
fall semester. This presentation is to be focused on just the architecture and
other design elements; the final semester presentation will be the place to
review the features added (or planned) and the process. The design
presentation is to be about 10 minutes in length covering&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/assignments-both/presentations/end-of-semester-presentations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/assignments-both/presentations/end-of-semester-presentations/</guid><description>&lt;div align=center&gt;
&lt;h1 id="end-of-semester-presentations-for-sdl"&gt;End-of-semester Presentations for &lt;a href="./"&gt;SDL&lt;/a&gt;&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Each team will present their projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Your primary audience is the other students in SDL. A successful
presentation is one that gives good takeaways for the other
students. The last slide needs to review those takeaways. Consider
capturing lessons learned about software process, lessons learned about
the technology you used, pithy observations about using genAI on
projects, alternative technologies that you tried but abandoned, or
some other takeaway that the other students are not likely to know but
will help them in future projects.&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/assignments-fall/docker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/assignments-fall/docker/</guid><description>&lt;h1 id="docker-for-sdl"&gt;Docker for SDL&lt;/h1&gt;
&lt;h2 id="why"&gt;Why?&lt;/h2&gt;
&lt;p&gt;There are two recurring problems in SDL projects that often block forward progress:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;It works on my machine&lt;/strong&gt;: Tests run on one person&amp;rsquo;s computer but not
another&amp;rsquo;s, typically because someone has installed a slightly different
library or has configured some option slightly differently. Software has
to work all of the time; it is not enough that one person on the team can
run the software. Everyone, including clients, must be able to run it
using published configurations.&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/assignments-spring/1-bdd-intro/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/assignments-spring/1-bdd-intro/</guid><description>&lt;h1 id="assignment-1-bdd-introduction"&gt;Assignment 1: BDD Introduction&lt;/h1&gt;
&lt;h2 id="motivation-software-development-challenges"&gt;Motivation: Software Development Challenges&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;If it ain&amp;rsquo;t tested, it&amp;rsquo;s broke.&lt;/strong&gt; This is a quote from an avionics
testing engineer. Testing cannot prove software works, but its almost
certain that untested software does &lt;em&gt;not&lt;/em&gt; work. The typical solution is do
a bit of manual testing after writing code, but these tests are not
repeatable. Written tests are slightly better, but too expensive to
re-execute often. They do little to improve stability. But you probably
have a lot of experience with software working today but not
tomorrow. Errors always creep in. It critical to establish a thorough,
automated test environment early in the project, and clients are unlikely
to find systems without tests to be useful or maintainable.&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/assignments-spring/2-bdd-implementation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/assignments-spring/2-bdd-implementation/</guid><description>&lt;h1 id="adding-bdd-to-your-sdl-project"&gt;Adding BDD to your SDL project&lt;/h1&gt;
&lt;p&gt;This assignment will give you experience with applying automated behavior-driven
development (BDD) to your SDL project. It assumes that you have
successfully completed the &lt;a href="../1-bdd-intro"&gt;BDD introduction&lt;/a&gt; assignment
and quiz.&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/assignments-spring/3-project-video/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/assignments-spring/3-project-video/</guid><description>&lt;h1 id="assignment-3-knowledge-transfer-video"&gt;Assignment 3: Knowledge Transfer Video&lt;/h1&gt;
&lt;h2 id="assignment-project-knowledge-transfer-video"&gt;Assignment: Project Knowledge Transfer Video&lt;/h2&gt;
&lt;p&gt;This assignment is due Friday May 8, 2026 at 11:59 PM. NO LATE SUBMISSIONS WILL BE ACCEPTED. NO EXCEPTIONS.&lt;/p&gt;
&lt;h2 id="objective"&gt;Objective&lt;/h2&gt;
&lt;p&gt;The purpose of this assignment is to create a professional, high-quality
video that documents your team’s project for future student groups. This
video should serve as both a showcase of your work and a practical
onboarding resource that helps others understand, set up, and extend your
project.&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/assignments-spring/abet-seso2p4-testing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/assignments-spring/abet-seso2p4-testing/</guid><description>&lt;h1 id="documenting-meaningful-test-suites"&gt;Documenting Meaningful Test Suites&lt;/h1&gt;
&lt;p&gt;Include title information: A title for the assignment, your name, the
date, and the course code (e.g., SWE3720).&lt;/p&gt;
&lt;p&gt;Provide a link to a file with a suite of tests you wrote that is available on the main branch.  (This means that you must perform a merge to main with at
least that test if it is not already on the main branch.)&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/assignments-spring/abet-seso3p4-documentation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/assignments-spring/abet-seso3p4-documentation/</guid><description>&lt;h1 id="individual-assignment-writing-documentation"&gt;Individual Assignment: Writing Documentation&lt;/h1&gt;
&lt;p&gt;Each student will write documentation.&lt;/p&gt;
&lt;p&gt;Ideally, this will be planned during Sprint 4, but could carry over into
Sprint 5 for individual students if other activities take priority.&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/claude/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/claude/</guid><description>&lt;h1 id="sdl-site"&gt;SDL site&lt;/h1&gt;
&lt;p&gt;Hugo site (PaperMod theme) for the Software Development Lab courses,
published to GitLab Pages. The whole repository is mounted as content —
see the header comments in &lt;code&gt;hugo.toml&lt;/code&gt;.&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/project-proposals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/project-proposals/</guid><description>&lt;div align=center&gt;
&lt;h1 id="sdl-project-proposals"&gt;&lt;a href="./"&gt;SDL&lt;/a&gt; Project Proposals&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Thank you for your interest in providing projects for the Software
Development Lab (SDL). In SDL, each team of 3 to 5 students works on a
moderately large project for a full academic year. Projects start in
September, with final delivery toward the end of May. Teams will attempt
to deliver running systems, but deployment is the responsibility of the
client.&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/projects/ay27/ay27-potential-projects/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/projects/ay27/ay27-potential-projects/</guid><description>&lt;p&gt;Title: Potential Projects for 2026-2027&lt;/p&gt;
&lt;div align=center&gt;
&lt;h1 id="potential-sdl-projects-for-2026-2027"&gt;Potential &lt;a href="../"&gt;SDL&lt;/a&gt; Projects for 2026-2027&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;There are two Software Development Lab instructors for next year. Some of
the following projects are assigned to a specific instructor, but others
will be determined based on interest. Continuing projects include both
those under current development and ones that were developed in the
past. In some cases the technology is specified, but in others the team can
help pick the technology with the product owner&amp;rsquo;s approval. Projects are
generally in alphabetical order and numbered for convenience.&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/resources/best-practices/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/resources/best-practices/</guid><description>&lt;h1 id="best-practices-for-sdl"&gt;Best Practices for &lt;a href="./"&gt;SDL&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Teams should adhere to the following practices, but may vary from them
after consultation with the instructor:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitLab Configuration:
&lt;ul&gt;
&lt;li&gt;All students on each team should have Developer role. We can give
them Maintainer role temporarily when required. Set the expiration
date to July 1 or February 1, as appropriate.&lt;/li&gt;
&lt;li&gt;Disallow pushes to the main branch. This is ensured by going to
&lt;strong&gt;Settings&lt;/strong&gt;, &lt;strong&gt;Repository&lt;/strong&gt;, &lt;strong&gt;Branch rules&lt;/strong&gt;, &lt;strong&gt;view
details&lt;/strong&gt;, &lt;strong&gt;Manage in protected branches&lt;/strong&gt;, and select &lt;strong&gt;No
one&lt;/strong&gt; for &lt;strong&gt;Allowed to push and merge&lt;/strong&gt;. &lt;strong&gt;Allowed to merge&lt;/strong&gt;
will be set to &lt;strong&gt;Maintainers&lt;/strong&gt; (or &lt;strong&gt;Maintainers +
Developers&lt;/strong&gt;).&lt;/li&gt;
&lt;li&gt;Disallow squash commits: &lt;strong&gt;Settings&lt;/strong&gt;, &lt;strong&gt;Merge requests&lt;/strong&gt;,
scroll down to &lt;strong&gt;Squash commits when merging&lt;/strong&gt;, set to &lt;strong&gt;Do not
allow&lt;/strong&gt;. Save the changes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Git standards (for all repositories):
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Configure your git setup so check-ins and check-outs are &lt;strong&gt;as-is&lt;/strong&gt;.
This means git will &lt;em&gt;not&lt;/em&gt; convert line endings between Unix/Window/Mac
formats. The conversions are not needed since all modern editors can
handle different formats. Allowing git often breaks deployment.
You can set this by editing your &lt;code&gt;.gitconfig&lt;/code&gt; file to include the text&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/resources/ci/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/resources/ci/</guid><description>&lt;p&gt;Use this &lt;code&gt;.gitlab-ci.yml&lt;/code&gt; as a starting point for your CI system:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;image: docker:latest
services:
- docker:dind
stages:
- build
build:
stage: build
script:
- docker build .
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The first line says you are using the latest version of Docker; once things are working, specify the version for extra robustness. The &lt;code&gt;build&lt;/code&gt; entry specifies how to do the build, which is just executing the &lt;code&gt;docker build .&lt;/code&gt; command you are used to using in Ubuntu. The &lt;code&gt;stages&lt;/code&gt; entry just specifies doing the &lt;code&gt;build&lt;/code&gt; stage; one could add additional stages for things like continuous delivery or to build multiple versions of your project.&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/resources/ubuntu-with-virtual-box/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/resources/ubuntu-with-virtual-box/</guid><description>&lt;h2 id="configuring-virtualbox-with-ubuntu"&gt;Configuring VirtualBox with Ubuntu&lt;/h2&gt;
&lt;h3 id="if-useful-also-covers-using-docker"&gt;(If useful, also covers using Docker)&lt;/h3&gt;
&lt;p&gt;This will enable teams to develop on Linux on their laptops, avoiding
problems with connecting to services over a network. Many teams will stage
their system on a remote server, but enabling local access&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/sprints/sprint-report-instructions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/sprints/sprint-report-instructions/</guid><description>&lt;div align="center"&gt;
&lt;h1 id="sdl-sprint-report-instructions"&gt;SDL Sprint Report Instructions&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Revision Spring 2026&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Drs. Yoder and Hasker&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;h1 id="sprint-review-and-retrospective"&gt;Sprint Review and Retrospective&lt;/h1&gt;
&lt;p&gt;The Sprint Review and Retrospective Report summarizes what portion of your
sprint goals were completed (the &amp;ldquo;review&amp;rdquo; portion) as well as how your team
performed in achieving those goals (the &amp;ldquo;retrospective&amp;rdquo; portion). Prepare
this document carefully! Be sure this document makes it obvious what you
and the team accomplished and how the process will improve in the next
sprint. Screen shots capturing your progress are critical. Consider
including screen shots of other important results such as establishing a
continuous integration (CI) system or meeting a code coverage
milestone. This document provides evidence of your accomplishments and is a
major part of each sprint&amp;rsquo;s grade.&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/sprints/sprint-report-template/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/sprints/sprint-report-template/</guid><description>&lt;div align="center"&gt;
&lt;p&gt;Sprint XXX Review and Retrospective for &lt;em&gt;CURRENT PROJECT NAME&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;===============================================================&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Member 1&lt;/strong&gt;, &lt;strong&gt;Member 2&lt;/strong&gt;, &lt;strong&gt;Member 3&lt;/strong&gt;, &lt;strong&gt;Member 4&lt;/strong&gt;, &lt;strong&gt;Member 5&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sprint Start, End: &lt;strong&gt;date&lt;/strong&gt; to &lt;strong&gt;date&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;h1 id="sprint-review"&gt;Sprint Review&lt;/h1&gt;
&lt;h2 id="sprint-goal"&gt;Sprint Goal&lt;/h2&gt;
&lt;p&gt;PLACEHOLDER: Restate the sprint goal and relate it back to the project as a whole. No need to mention PBI numbers in this section.&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/swe3710-syllabus/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/swe3710-syllabus/</guid><description>&lt;div align=center&gt;
&lt;h1 id="swe-3710-software-development-laboratory-i"&gt;&lt;a href="./"&gt;SWE 3710&lt;/a&gt;: Software Development Laboratory I&lt;/h1&gt;
&lt;h2 id="hahahugoshortcode32s0hbhb-hahahugoshortcode32s1hbhb"&gt;Fall 2026&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Instructors&lt;/strong&gt;: &lt;a href="https://faculty-web.msoe.edu/hasker/"&gt;Dr. Rob Hasker&lt;/a&gt;, Prof. Alexander Pezewski&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Office hours&lt;/strong&gt;: see Canvas&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Course Description&lt;/strong&gt;: The software development laboratory provides
students the experience of working in a team on large-scale projects
using software engineering tools and techniques. In this first course in
the sequence, students are introduced to the laboratory environment and
work on assigned tasks as members of project teams. As students develop
individual and team skills, they take on additional responsibilities on
project teams.&lt;/p&gt;</description></item><item><title/><link>https://sdl-56e997.gitlab.io/swe3720-syllabus/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/swe3720-syllabus/</guid><description>&lt;div align=center&gt;
&lt;h1 id="swe-3720-software-development-laboratory-ii"&gt;&lt;a href="./"&gt;SWE 3720&lt;/a&gt;: Software Development Laboratory II&lt;/h1&gt;
&lt;h2 id="hahahugoshortcode33s0hbhb-hahahugoshortcode33s1hbhb"&gt;Spring 2027&lt;/h2&gt;
&lt;/div&gt;
&lt;h3 id="this-document-is-written-for-the-spring-semester-see-this-page-for-the-fall-schedule"&gt;This document is written for the spring semester; see &lt;a href="swe3710-syllabus.html"&gt;this page&lt;/a&gt; for the fall schedule&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Instructors&lt;/strong&gt;: &lt;a href="https://faculty-web.msoe.edu/hasker/"&gt;Dr. Rob Hasker&lt;/a&gt;, Prof. Alexander Pezewski&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Office hours&lt;/strong&gt;: See Canvas&lt;/p&gt;</description></item><item><title>SDL Sprint Report Instructions</title><link>https://sdl-56e997.gitlab.io/sprints/sprint-report/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sdl-56e997.gitlab.io/sprints/sprint-report/</guid><description>&lt;p&gt;&lt;strong&gt;Revision f23&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Drs. Yoder and Hasker&lt;/strong&gt;&lt;/p&gt;
&lt;h1 id="sprintreviewandretrospective"&gt;Sprint Review and Retrospective&lt;/h1&gt;
&lt;p&gt;The Sprint Review and Retrospective Report summarizes what portion of your sprint goals were completed (the &amp;ldquo;review&amp;rdquo; portion) as well as how your team performed in achieving those goals (the &amp;ldquo;retrospective&amp;rdquo; portion). Some of this material may duplicate your other planned deliverables. Your instructor direct that you place this material in those deliverables instead of your sprint report.&lt;/p&gt;</description></item></channel></rss>