Skip to content
This organization was marked as archived by an administrator on Apr 17, 2024. It is no longer maintained.
@CS-461-nilsstreedain

CS 461

Senior Software Engineering Project I

Senior Software Engineering Project

⚠️ The syllabus is subject to changes that will be announced in class. This is the first course of a series of three, culminating in the delivery of a working software project/product to your project partner by May/June of this academic year.

Outside of class and assignments, you'll spend a considerable amount of time working on your project/product with light supervision.

Think of your teaching staff as your tech leads or engineering managers, we'll ask for progress reports and will be there to meet if you have questions, but the organization and delivery of software is up to you.

Course Details

  • Course Title: Senior Software Engineering Project I
  • Course Number: CS 461
  • Credit Hours: 3.0
  • Term: Fall 2023
  • Teachers:
  • Teaching Assistants: TBD
  • Class Meeting Times: Friday 10-11:50 AM
  • Class Location: LINC 128 - Learning Innovation Center 128 (GP)
  • Exceptions:
    • November 10 for Veterans Day 🇺🇸
    • November 24 for Thanksgiving break 🦃
  • Midterm Exam: NA
  • Final Exam: NA
  • Prerequisite: Prerequisites: (CS 325 or 325H) and CS 361 and (CS 362 or 362H). A minimum grade of C is required in CS 325, CS 325H, CS 361, CS 362, and CS 362H.
  • Recommended: NA
  • Required Textbook: NA
  • AWS Academy URL: TBD
  • Lectures: You can find the slides in PDF form here).

Communication

Communication is key for success, never hesitate or wait to reach out to your fellow students or to your teacher or teaching assistants. Here are the best ways:

  • Ask questions during class or labs or come find the teacher at the end of class or labs.
  • Email the instructors ([email protected]) or your teaching assistant and put [CS461] in the email subject.
  • Schedule an in-person or online appointment with the teacher or teaching assistants.
  • The teacher and TAs do not typically work on the weekends or holidays.

There is a student-run Discord server as well: Discord Server (valid 7 days from Sep 29)

Course Learning Outcomes

  • Design, plan, organize, synthesize, and complete a significant software project in three academic quarters
  • Apply all aspects of the software engineering process, including project planning, requirements documents, software design, coding, testing, walk-throughs, documentation, and delivery
  • Demonstrate good communication skills in the form of weekly reports and project talks, posters, and elevator talks
  • Participate effectively in a team environment
  • Analyze and organize their own career preparation
  • Evaluate the professional, legal, and/or social implications of software product development
  • Evaluate the contributions and importance of software projects to the broad user community
  • Explain the importance of software projects to people from other disciplines and the general public
  • WIC:
    • Develop and articulate content knowledge and critical thinking in the discipline through frequent practice of informal and formal writing
    • Demonstrate knowledge/understanding of audience expectations, genres, and conventions appropriate to communicating in the discipline
    • Demonstrate the ability to compose a document of at least 2000 words through multiple aspects of writing, including brainstorming, drafting, using sources appropriately, and revising comprehensively after receiving feedback on a draft.

Assignments and Grading

Important Note: At the end of each term, if your project partner deems your work unsatisfactory, it will go in review, and you might fail the class. Individual contributions are taken into account, so don't fret.

Please understand that this is a SWE project with your project partner and that you have to deliver what was agreed upon with them (that can be a moving target; check-in often). We expect most projects to include the following item (or a negotiated alternative):

  • Product requirements (incl. risks)
  • Software development process agreement
  • Software design and architecture document
  • Git-based version control and issue-tracking (project management)
  • Software and source code: including build, tests, and deployment
  • Documentation (for developers/engineers as well as end-users, that includes part of the above)
  • Maintenance plan (you probably won't be working on your code once you've handed it over to your project partner)

The class will support you in achieving those, providing feedback along the way. This is less an exercise of "can we make it happen?" but more of a "can we get things done as a team?" (it can be both though, your personal ambition is the limit).

Evaluation of Student Performance

Type Description Late Submission % of Total
Graded group formal writing There's more to SWE than simply writing code. As a group, you'll submit key artifacts that require proper writing styles depending on your audience. Graded by TAs and instructors. Up to 48 hours, @20% penalty per day. No points after 48 hours. 20
Graded individual formal writing This is a WIC requirement even though SWE projects are mostly collaborative endeavors. You will have to formally and individually write a few key pieces. Graded by TAs and instructors. Up to 48 hours, @20% penalty per day. No points after 48 hours. 40
Informal writing, presentations, and progress reports Like any SWE team, you'll have to present and report on your progress (mostly to your project partner and TA). This will be done in a timely manner. Graded by your TA and project partner. Not possible. 35
Readings Weekly readings, ideally done before each class. Will help your progress with the project. Graded by your TA. Up to two weeks late, no penalties. 5

CS46X: Writing Intensive Course

The CS 46X series is a WIC (Writing Intensive Course). Hence, we are obliged to evaluate a certain amount of individual drafting, peer review, and revision. In this course you'll encounter both formal and informal writing tasks. You'll also encounter both individual and group assignments.

Formal Writing Tasks

  • Use stories
  • Product requirements
  • Software development process
  • Software design and architecture
  • Code reviews
  • All other forms of documentation (code comments, how-to guides, references, etc.)
  • All other forms of external communication (posters, presentations, emails, cover letters, etc.)

Informal Writing Tasks

Progress Reports

The progress report is akin to a sprint planning/review/demo but simplified for the purpose of this class.

Our aim is to standardize the reporting of your progress, to make it a breeze for both you to prepare, and us to grade.

If you are keeping up-to-date user stories, pull requests, product backlog, and kanban board, this should take less than five minutes to put together.

Traditionally, this happens on a sprint basis (Agile) to inform stakeholders of your progress (and generally includes a demo of new features).

TA will grade progress reports for the whole group and deduct points to individual contributors accordingly. Missing work on more than two progress reports will probably result in a failing grade.

Presentations

During Capstone, you'll be asked to do many presentations to small and large audiences. Some of these presentations will be recorded. Others will be live. We'll talk through your strengths and weaknesses as a presenter and provide many opportunities to practice speaking in a low-stakes environment.

Individual Reader Responses

Almost every week, you'll have short readings and corresponding open-ended questions. These readings complement lectures and the project progress as a whole. They give you an opportunity to think about your project, the challenges you are facing, and how you organize yourself. Take this a moment to reflect and prepare.

Some readings are related to career prep (as it is part of the learning objectives).

Grading Details

The grading scale is as follows, and will be adhered to strictly (we have already taken into account some pretty generous rounding), so please don't ask for "just a few more points":

  • 93 ≤ A ≤ 100
  • 90 ≤ A- < 92
  • 87 ≤ B+ < 89
  • 83 ≤ B < 86
  • 80 ≤ B- < 82
  • 77 ≤ C+ < 79
  • 73 ≤ C < 76
  • 70 ≤ C- < 72
  • 67 ≤ D+ < 69
  • 63 ≤ D < 66
  • 60 ≤ D- < 62
  • 0 ≤ F < 59.5

Late Assignments

Submitting assignments on time is critical to academic success and demonstrating responsibility. Late submissions can hinder your progress in the course and cause you to miss out on valuable feedback.

See table above for the late submission per assignment type. Note that progress reports and presentations cannot be submitted late. Your progress reports contain whatever progress you've been working on; there's no reason for it to be late.

What if I cannot make an assignment (on-time or not at all)?
  • If there is a planned exculpatory reason as to why your assignment will be late (e.g., job interview with travel, etc.) or if you cannot attend class, you must contact the instructor via email at least 48 hours before the assignment due date.
  • When contacting the instructor for an extension, provide your expected submission date.
  • Otherwise, no extensions will be given. Unacceptable reasons for late extensions include being busy in other classes and data loss—make backups of your work.
  • Emergencies, sickness, etc. are exempt from the 48-hour rule. Simply contact the instructors as soon as possible: [email protected]

Plagiarism and Ghostwriting

You are required to generate your own work in this class. When you submit any kind of work (including code, discussions, presentations, quizzes, or exams), you are asserting that you have generated and written the text or code that you are submitting unless you have otherwise indicated through the proper use of quotations, citations, and/or attribution of the original source.

Assignments may be checked against Internet sources, academic journal articles, and the papers of other OSU students for common or borrowed content using Turnitin. Plagiarism software generates a report that highlights potentially unoriginal text in your paper. Some assignments may have specific originality threshold requirements.

Keep your work! Not only does plagiarism go against the school’s code of conduct, submitting the work of anyone else or work generated by machine (LLMs such as ChatGPT) as your own (ghostwriting) is also unacceptable. If the work you submit at any point is incongruous with other work you have submitted, you may be asked for your source documents. Failure to provide source documentation or evidence of your independent and original draft work will result in an award of “0” points on the assignment.

Can I use Large Language Models (LLMs), such as ChatGPT, at all?

It's fine to ask LLMs questions, the same way you'd use a search engine. I do it all the time! And most of the time, the answers are average at best. Given that you're considering whatever it told you with a big grain of salt, you'll then need to do some research to find peer-reviewed and reliable evidence that might corroborate (or disprove) what the LLM told you. Review, compare, and investigate. Repeat this cycle, keeping in mind that what you're getting from LLM is crowdsourced information, not the reliable product of research and assessment.

Course Expectations and Policies

You can expect us:

  • To start and end class on time.
  • To create assignments that adequately covers the material and meets the learning objectives of the course while adhering to the time expectations.
  • To give exams that accurately reflect the material covered in class and in assignments.

We can expect you:

  • To know and abide by the rules in this syllabus.
  • To attend class.
  • To be attentive and engaged in class.
  • To spend an adequate amount of time on your project and assignments each week.
  • To engage with both the abstract and computational sides of the class.
  • To be curious.
  • To seek help when appropriate, early and often.
  • To be accountable for your project, together with the rest of your team.

Study Time Expectation

According to OSU Catalog, one credit is generally given for three hours per week of work in and out of class. Each hour of class lecture is therefore expected to require two hours of work outside of class. Since CS 461 is a 3-credit course, students should expect to spend, on average, about 9 hours per week inclusive of in-class and out-of-class activities. It may take more than nine hours per week to excel in this course.

In particular, because you are working on a project for a client (your project partner), it will be your job to manage expectations and deliver what was agreed upon. Sometimes you'll have to work more, sometimes less. Collaboration and communication is key.

Attendance Policy

Regular and punctual attendance is expected and is the student’s responsibility. A good engineer upholds professional conduct by being prompt. If this is not your habit, acquire it. It will help you in this class and in your career.

Sick Policy

Students should not attend class or any public gatherings while ill with COVID-19, influenza, or any other contagion. Students with symptoms will be asked to leave the classroom or instructor’s office and return home for recovery. If you have COVID-19, influenza, or another virus or contagion, the illness and self-isolation period may be two weeks or longer. Most students should be able to complete a successful term despite such an absence. Students who are absent because of illness will be provided with a reasonable opportunity to make up missed work. Ordinarily, it is inappropriate to substitute for the missed assignment the weighting of a term's work that does not include the missed assignment or exam. Completion of all assignments and exams assures the greatest chance for students to develop heightened understanding and content mastery that is unavailable through the weighting process. The opportunity to complete all assignments and exams is intended to enable students to make responsible situational decisions, including the decision to avoid spreading a contagion to other students, staff, and faculty, without in any way endangering their academic opportunities and work. Students with a contagion do not need to provide a physician's certification of illness. Ill students should inform the teaching staff via email or through Canvas (but not through personal contact) as soon as possible that they will be absent because of an illness. The teaching staff will work with them to arrange to make up missed assignments or exams. The above considerations also apply if students are caring for someone that is ill. The Office of the Dean of Students can assist students if they are navigating a range of extenuating life circumstances including but not limited to prolonged illness, hospitalization, and financial concerns. They can be reached Monday through Friday from 9:00 AM to 5:00 PM by calling 541-737-8748 or emailing [email protected].

Emergencies

In the event of a major campus emergency, course requirements, deadlines, and grading percentages are subject to change as may be necessitated by a revised term calendar or other circumstances. Email and Canvas will be used to provide information about changes in this course. Please review posted guides on emergency responses and emergency alert communication, and sign up for emergency alerts, at emergency.oregonstate.edu.

Student Conduct Expectations

The Student Conduct Code establishes community standards and procedures necessary to maintain and protect an environment conducive to learning, in keeping with the educational objectives of Oregon State University. This code is based on the assumption that all persons must treat one another with dignity and respect in order for scholarship to thrive. Students are expected to abide by OSU’s Code of Student Conduct, which they are encouraged to read at https://beav.es/codeofconduct.

Professionalism in this course is as important as in the workplace and includes such traits as preparation, productivity, and promptness. Cell phones, email, texting, and all other potential distractions will not be tolerated during regularly scheduled class meetings or during office hours.

Examples of Academic Misconduct

Please note the following examples of what is considered inappropriate, except when agreed upon for purposes of group assignments.

  • Viewing another student’s quiz, test, paper, or code while working on your own.
  • Directly providing another student a copy, electronic or otherwise, of your work.
  • Accepting a copy, electronic or otherwise, of another student’s work.
  • Copying and pasting any component of another student’s work into your own.
  • Copying solutions found online (e.g., GitHub) or otherwise, pasting it into your own work without proper citation.
  • Referencing or providing course materials to any individual or 3rd party company (e.g., Chegg, Course Hero).
  • Submitting code written or assisted by AI-tools as your own (e.g., ChapGPT, GitHub Co-Pilot).

Academic Calendar

All students are subject to the registration and refund deadlines as stated in the Academic Calendar: Academic Calendar

Statement Regarding Students with Disabilities

Accommodations for students with disabilities are determined and approved by Disability Access Services (DAS). If you, as a student, believe you are eligible for accommodations but have not obtained approval please contact DAS immediately at 541-737-4098 or at http://ds.oregonstate.edu. DAS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.

Student Bill of Rights

OSU has twelve established student rights. They include due process in all university disciplinary processes, an equal opportunity to learn, and grading in accordance with the course syllabus: Student Bill of Rights

Reach Out for Success

University students encounter setbacks from time to time. If you encounter difficulties and need assistance, it’s important to reach out. Consider discussing the situation with an instructor or academic advisor. Learn about resources that assist with wellness and academic success at oregonstate.edu/ReachOut. If you are in immediate crisis, please contact the Crisis Text Line by texting OREGON to 741-741 or call the National Suicide Prevention Lifeline at 1-800-273-TALK (8255)

Student Evaluation of Courses

During Fall, Winter, and Spring term the online Student Learning Experience surveys open to students the Wednesday of week 9 and close the Sunday before Finals Week. Students will receive notification, instructions and the link through their ONID email. They may also log into the system via MyOregonState or directly at beaves.es/Student-Learning-Survey. Survey results are extremely important and are used to help improve courses and the learning experience of future students. Responses are anonymous (unless a student chooses to “sign” their comments, agreeing to relinquish anonymity of written comments) and are not available to instructors until after grades have been posted. The results of scaled questions and signed comments go to both the instructor and their unit head/supervisor. Anonymous (unsigned) comments go to the instructor only.

Popular repositories Loading

  1. .github .github Public archive

Repositories

Showing 1 of 1 repositories
  • .github Public archive
    CS-461-nilsstreedain/.github’s past year of commit activity
    0 0 0 0 Updated Oct 3, 2023

Top languages

Loading…

Most used topics

Loading…