Skip to main content
  1. /classes/
  2. Classes, Fall 2025/
  3. CS 4140 Fall 2025: Course Site/

cs4140 Fall 2025: Syllabus

·1882 words·9 mins·
Software Engineering (3 credits)

← Back to Course Site

Course Catalog:
Presents fundamental principles of software engineering. Emphasizes software design, implementation and maintenance. Techniques used in the major phases of the software life cycle such as rapid prototyping, object-oriented design and module testing, are discussed. Software teams complete a term project that includes system documentation, design and implementation. Falls.
Prereqs: CS 2381 and CS 3720.

Course Info
#

Office Hours, Fall 2025:

  • In D&M 305
  • Monday @ 1 - 2pm
  • Tuesday @ 2 - 3pm
  • Friday @ 12:30 - 1:30pm

Student Learning Outcomes
#

Successful students will:

  • Work in a team to develop a complex web application.
  • Publish the resulting application as a public git repository released under an open source license.
  • Use a selection of specific tools, techniques, and methodologies for software engineering, software development, and project management.
  • Engage in self-directed learning to gain knowlege and experience with new web development languages, frameworks, libraries, and tools.
  • Discover project tasks and break large tasks down into smaller pieces.
  • Contribute to allocation of tasks between team members then personally do a fair share of the work.
  • Deploy to a commodity virtual private server.
  • Collect and implement user stories.

Texts
#

There is no required textbook 🪳 for this course.

Course Materials
#

During the course of the semester, each student will be required to purchase the following services:

  • A commodity virtual private server for the full semester.
  • A domain name
  • A $10 credit on OpenRouter.

This can be done for under $30.

Please wait to get these until the task is assigned, as there are several specific requirements.

Software Project
#

In this course you will work in a team to build a software project.

This semester the plan is for the whole class to work as one big team to build a single application using a simple agile methodology. Tools and processes will be introduced as we go.

A major focus of this class is on the elements of software development other than writing application code, so expect those things to take a significant portion of your time and effort in this class.

Grading
#

Thing Weight
Final Presentation 20
Semester Checklist 30
Weekly Reports 20
Project Tasks 20
Attendance 10

The number of points available in an assessment may (or may not) exceed the denominator used in the grade calculation.

Letter grades

≥ 93 → A, ≥ 90 → A-,
≥ 87 → B+, ≥ 83 → B, ≥ 80 → B-,
≥ 77 → C+, ≥ 73 → C, ≥ 70 → C-,
≥ 67 → D+, ≥ 63 → D, ≥ 60 → D-,
else (< 60) → F

Final Presentation

At the end of the semester each student (or small group) will give a presentation on something interesting they did during during the semester. The grade for this will cover both the presentation itself and the work it describes.

A component of this grade may be from peer evaluations.

Semester Checklist

Over the course of the semester you must accomplish a set of specific tasks (e.g. creating some number of pull requests, doing code reviews, working on specific components of the app).

The full checklist will be available by mid-semester, and you’ll have to submit a summary at the end of the semester showing what you did to satisfy the checklist requirements.

Weekly Reports

Each week you’ll have to write a quick report summarizing what you did that week.

Project Tasks

Each week you’ll be assigned multiple specific tasks to complete. There will be some overlap in grading between completing tasks and summarizing those tasks in your weekly report.

Peer Evaluation

Some of your tasks will be to evaluate work done by your classmates, both in the form of code reviews and checklist-based confirmation of task completion.

This means your work will be evaluated by peers as well. In many cases, these evaluations will directly become task scores and influence final grades. Do the best you can to provide a fair and accurate evaluation.

Late Work

Please start early and submit your work on time.

In many cases other students won’t be able to start their tasks until you complete yours. Please try to avoid inconveniencing your classmates.

The penalty for late submission will be whatever the submission tool (Inkfish, Canvas, or maybe something else) is configured to impose. This may be no credit for late work, half credit for work submitted no more than 1 day late, or some other penalty. Assume no credit for late work unless otherwise specified.

Copyright and Attribution #

To avoid plagarism, the following are clearly OK:

  • If a member of your team wrote code.
  • If a member of your team generated boilerplate code with a non-AI code generation tool (e.g. mix phx.gen.html in Phoenix)
  • Using external open source libraries through package management tools.

Copying code from other sources is OK if you provide clear attribution and:

  • The code is a documentation sample clearly intended to be adapted and used by developers OR the code is licensed under an open source license compatible with your project license. Make sure to follow the license.
  • Attribution should be identify the author if possible, how to find the resource (e.g. URL, book citation, etc), and any relevant licensing info.

Using code produced by generative AI is OK as long as:

  • You specify what generative AI tool (e.g. name, url, version, date as appropriate) was used for what code.
  • The default aider commit comment is sufficient.

Not OK:

  • Copying code you didn’t produce yourself into your project without clear attribution.
  • Copyright infringement (including for non-code assets)
  • Getting other people to write code for you, especially non-classmates.

Tentative Topics and Dates
#

Week Date Topic
1 Aug 25 Welcome, Github, WebDev
2 Sep 01 † Agile, Testing
3 Sep 08 Testing, Features, DB Migrations
4 Sep 15 CI, Deployment, TLS
5 Sep 22 CD, Documentation
6 Sep 29 Projects, Customers Midterm Cumulative Report
7 Oct 06 Backups, Customer Meetings
8 Oct 13 Coverage, Design
9 Oct 20 Database, State
10 Oct 27 Big Feature Planning
11 Nov 03 Load Time, Interactivity
12 Nov 10 † Security, Monitoring
13 Nov 17 Redundancy, Mirroring, Failover
14 Nov 24 ‡ 🦃
15 Dec 01 Polish, Handoff
- Dec 08-12 Finals Week Presentations
  • † No class on Monday, Sep 01 (Labor Day) or Monday, Nov 10 (Veterans Day)
  • ‡ No class Wed, Thu, Fri (Thanksgiving)

Standard Policies

Attendance

Attendance is required for all class meetings (whether lectures or labs). You must check in to the online attendance tool within 5 minutes of the start of the period to receive full attendance credit.

If you are unable to attend class due to a circumstance covered by the university Excused Absence Policy email the professor as soon as possible for an exception. If you reasonably can email before the meeting, you must do so to receive an exception.

Late Work

You are expected to submit your assignments by the deadline. Try to get stuff done and submitted at least an hour before that so you don't miss the deadline due to a browser bug or wifi glitch.

Unless some more specific policy is specified for a specific assignment or type of assignment, late work will not be accepted.

If you are unable to complete an assignment on time due to circumstances covered by the university Excused Absence Policy email the professor as soon as possible for an extension. If you reasonably can email before the deadline, you must do so to receive an extension.

Letter Grades

≥ 93 → A, ≥ 90 → A-,
≥ 87 → B+, ≥ 83 → B, ≥ 80 → B-,
≥ 77 → C+, ≥ 73 → C, ≥ 70 → C-,
≥ 67 → D+, ≥ 63 → D, ≥ 60 → D-,
else (< 60) → F

Grade Appeals

If you think you received an incorrect grade, send me an email describing why your grade is wrong and how you think it should be corrected.

If the grade isn’t clearly wrong, I will ask you to stop by my office hours so we can discuss the issue in more detail.

For scores automatically and immediately generated by deterministic test scripts on Inkfish, you are expected to review that immediate feedback and resubmit with corrections before the due date. Scores where you could have done that are unlikely to be modified unless there's a clear error in the script.

Academic Integrity

Please carefully read and be familiar with the university Academic Integrity Policy.

Especially don’t do any of the things in the list of examples of academic integrity violations. Make sure to review the penalties for repeated offenses.

The maximum penalty for academic dishonestly is a grade of “AF” in this course. In addition, the student’s name may be sumitted the the appropriate university authorities for further diciplinary action which may result in penalties up to dismissal from the University.

The most likely violation for this course is plagarism, which is when a student submits a solution for an assignment that wasn’t produced by them (or their assigned team in the case of a group assignment). Both submitting work that you didn’t produce and providing solutions to other students are unacceptable in this course and will result in a penalty as described above.

Some assignments in this course allow the use of generative AI tools. Such tools should not be used to generate assignment solutions except as explicitly described in a given assignment.

Fair Grading Policy

All grading in this class is subject to the university Fair Grading Policy.

Email and Canvas

Some communication about this class will be done through email to your University address. Please check your email; you are responsible for any email communications you miss.

Other communication - especially to the whole class - will be done through Canvas Annoucements. Check those regularly.

ADA Statement

Plymouth State University is committed to providing students with documented disabilities equal access to all university programs and facilities. If you think you have a disability requiring accommodations, you should contact Campus Accessibility Services (CAS), located in Speare 210 (535-3300) to determine whether you are eligible for such accommodations. Academic accommodations will only be considered for students who have registered with CAS. If you have a Letter of Accommodation for this course from CAS, please provide the instructor with that information privately so that you and the instructor can review those accommodations.

Tutoring

CS&T offers evening tutoring for several classes. Keep an eye out for annoucements. The PASS Office also offers individual tutoring.

Class Cancellations and Inclement Weather

Class cancellations, if nessisary for whatever reason, will be posted as an annoucement on Canvas.

While my goal is to hold class during inclement weather unless the Univesity has closed, that isn't always possible. Definitely check canvas for a cancellation (or short delay) if the weather report mentions freezing rain.

Class cancellations and inclement weather and class cancellations don't change assignment deadlines unless explictly noted.

Late Registration

If you register late for the course please contact the professor to discuss completing any missed assignments as soon as possible.

Nat Tuck
Author
Nat Tuck