Course Syllabus

CS 461 Course Banner - Senior Software Engineering Project I

Note to screen reader users. This page contains interactive tabs. Screen reader will read through each tab in order, regardless of whichever one is currently being displayed. Please contact me if you need assistance.

Syllabus Quiz (complete ASAP)

Click here to download a pdf version of the weekly course schedule

Please note that some content linked on this page may only be available to registered students.

General Course Description

IMPORTANT:  Make sure to complete all tasks in the Start Here - Overview Page. Once these are completed, modules will be unlocked.

At this point in your CS education, you are getting very close to graduating. Congratulations! As part of showing what you've learned, your Capstone classes will give you an opportunity to take a software project all the way from start to finish. This course, CS462, is the second course in the Capstone sequence.

CS462 is all about development. You will participate on a development team to build a project starting with the prototype platform and environment that you created last term in CS461. You will manage this project using Agile Scrum methodology. You will participate in Sprint Planning meetings. You will integrate and build a version of your running project frequently (at least once a week). You will also create a weekly Scrum Standup report video. 

CS462 will have one major project milestone due: A Final "Alpha" product release. Your success in this course is definitely contingent on getting this over the finish line.

CS462 will have writing assignments: You will write a Status report and Instructions document for the Alpha release. You may also write Sprint Planning reports, "Help Desk" discussion, and produce several topical blog posts. The entire Capstone sequence is Writing Intensive Course (WIC) approved. There are specific requirements for WIC courses, which you can read about WIC Learning Outcomes. If you need help with your writing, a good place to go is the OSU Writing Center. Your Instructor and TA's are also here to help.

Finally, CS462 is about collaboration. If on a team - you will work together with your teammates on most assignments and of course on the project. The expectation is at least 10 hours per student per week.

There are no tests, midterms, or finals in this course.


Instructor and TA Information

The instructor for the course are:

The teaching assistants for the course are:


Expo

Every Spring term we hold the Engineering Expo where you can come and see 100s of projects. It's a tremendous opportunity you won't want to miss. The students who attend always rave about it - many of them get a chance to network with company representatives leading to internships and jobs. These events are typically held in Corvallis, Oregon (or virtually). See this video for a look at the 2019 Expo!

If you would like to attend (attendance is entirely optional, of course), you will need to register at the link above.


Letters of Recommendation

As much as I enjoy having you in the class, I am generally unable to provide you with a letter of recommendation. I will only be able to write letters for students I know personally. If you're interested and think I know you well enough, feel free to ask!


About the Instructor

Professor Ami Gates

I am Professor Ami Gates (Dr. Ami). Welcome! and it is a pleasure be your instructor for the Capstone course!  My quick academic background includes a B.A. in Mathematics, a M.S. in Computer Science, a M.S. in Math and Statistics Education, and a PhD in Computer Engineering and Applied Data Science from the University of Florida. (Go Gators!).  I spent several years as a programmer/developer and have been teaching and developing educational content for over 25 years. More recently, I served as Director and Professor of Data Science and Analytics at Georgetown University where I managed their DS Program (all aspects) and developed and/or co-developed 21 data science, computer science, and applied math courses.  I have worked on areas such as modeling biological systems, web development, machine learning (in R and Python), Neural Networks, Text Mining and NLP, Data Visualization and Communication, Decision Science, Probabilistic Modeling, and Statistical Analyses. I am looking forward to working with all of you as you complete your projects!


 


 

Course Name: Senior Software Engineering Project II (online)
Course Number: CS 462
Credits: 3

Instructor:

Teaching Assistants:

This syllabus describes the administrative parts of the course and serves as a contract between student and instructor. Remaining in this course indicates acceptance of these rules.

Remember that in this Capstone course, you are expected to behave professionally. Please use this document throughout the course.


Table of Contents


Course Description

Real-world team-based experience with the software engineering design and delivery cycle, including requirements analysis and specification, design techniques, and requirements and final project written documentation. 

Prerequisites: (CS 325 or 325H) and CS 361 and (CS 362 or 362H).
A minimum grade of C is required in CS 325CS 325HCS 361CS 362 and CS 362H.


Communication

If we need to contact you, we will email you directly (or via the class mailing list), or send out a canvas announcement. NOTE:  It is your responsibility to make sure you can receive notifications from Canvas.

Here is the preferred way to contact professors:

Email directly:

For Dr. Ami: Ami.Gates@oregonstate.edu (I generally respond back on the same day. I take Saturdays off so if you email Friday night, you may need to wait until Sunday afternoon/evening for a response :)

Messaging  on Canvas is an unreliable and indirect way to send an email. Please use the email addresses noted. Given the sea of Canvas notifications and daily digest spam from several courses, etc. So please use regular email for contact :)

Email is the best way to get Dr. Ami. (Please only use email. Do not use MS Teams or other methods)

We are not Debuggers, Programmers, or Architects — that's your job! Do not send the instructors or TAs any code except what is required for your assignment submissions. 

Don't expect the instructors or the TAs to see comments left with assignment submissions. Canvas allows us to download the entire class's submissions as one .zip file, which does not include these comments. If you need to make a meta-comment about your submission, add it to the submission or email the person grading that submission directly.


Time Expectations

This course is online only. This course combines approximately 100 hours of online activities and assignments for 3 credits.


Technical Assistance

If you experience any errors or problems while in your online course, contact 24-7 Canvas Support through the Help link within Canvas.  If you experience computer difficulties, need help downloading a browser or plug-in, or need assistance logging into a course, contact the IS Service Desk for assistance. You can call (541) 737-8787 or visit the IS Service Desk online.


Learning Resources

All class materials can be found on the course web-page. There is no textbook; students are expected to source their own learning resources to accomplish the goals of their projects. A microphone and screen-recording device may be required, for submitting project or prototype demonstrations.

Note: Check with the OSU Beaver Store for up-to-date information for the term you enroll (OSU Beaver Store website or 800-595-0357). If you purchase course materials from other sources, be very careful to obtain the correct ISBN.


Measurable Student Learning Outcomes

After completion of this course, students will have demonstrated an ability to:

  1. Apply all aspects of the software engineering process, including project planning, requirements documents, software design, coding, testing, walk-throughs, documentation, and delivery
  2. Demonstrate good communication skills in the form of weekly reports and project talks, posters, and elevator talks
  3. Participate effectively in a team environment
  4. Analyze and organize their own career preparation 
  5. Evaluate the professional, legal, and/or social implications of software product development 

Additional Student Learning Outcomes - At the completion of the course, students will be able to:

  1. Design, plan, organize, synthesize and complete a significant software project in three academic quarters
  2. Evaluate the contributions and importance of software projects to the broad user community.
  3. Explain the importance of software projects to people from other disciplines and the general public.
  4. For WIC: Develop and articulate content knowledge and critical thinking in the discipline through frequent practice of informal and formal writing.
  5. For WIC: Demonstrate knowledge/understanding of audience expectations, genres, and conventions appropriate to communicating in the discipline.
  6. For WIC: 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.

Evaluation of Student Performance

Assignment Points # Total Percent of grade
Syllabus Quiz 10 1 10 2.00%
Surveys 10 3 30 6.00%
Development Plan 25 1 25 5.00%
Progress Reports 40 6 240 48.00%
Sprint Planning Meetings 30 2 60 12.00%
Help Desk Discussions 20 2 40 8.00%
Blog Posts 10 3 30 6.00%
Project Archive - Alpha 25 1 25 5.00%
Project Demo - Alpha 40 1 40 8.00%
Totals 500 100.00%

Letter Grade

Your group will not create your grade for you. You need to accomplish the goals you sign off on by submitting all assignments. In this course, failure to communicate with your team, or to provide reasonably working code compatible with the project per the specification may result in you receiving a non-passing grade while the rest of your group passes. You may be removed from your team if you are found to not be putting in the required amount of work.

Total Percentage vs. Letter Grade

 100 ╺┓
      ┣╸A
92.95╺┫ 
      ┣╸A-
89.95╺┫ 
      ┣╸B+
86.95╺┫ 
      ┣╸B
82.95╺┫ 
      ┣╸B-
79.95╺┫ 
      ┣╸C+
76.95╺┫ 
      ┣╸C
72.95╺┫ 
      ┣╸C-
69.95╺┫ 
      ┣╸D+
66.95╺┫ 
      ┣╸D
62.95╺┫ 
      ┣╸D-
59.95╺┫ 
      ┣╸F
   0 ╺┛


Course Content

CS 462 Course Schedule
Week Topic Explorations Learning Activities
1 Introduction Course Introduction
Agile Scrum

Development Plan

2 Clean Code Clean Code

Sprint Planning Meeting, Start of Term survey

3 Agile Development Agile Development

Project Version, blog post

4 Code Reviews Code Reviews Project Version
5 JIT Design JIT Design Project Version
6 Company Culture Company Culture Sprint Planning Meeting, Checkin survey
7 Programming Projects Programming Projects Project Version
8 Your Online Presence Your Online Presence Project Version
9 Soft Skills Soft Skills Project Version, blog post
10 Job Search Hack Your Job Search Project Archive - Final
Project Demonstration - Final
Finals No Final in this Course  

Course Policies

Discussion Participation

Students are expected to participate in all graded discussions. While there is great flexibility in online courses, this is not a self-paced course. You will need to participate in discussions on at least two different days each week, with your first post due no later than Thursday evening, and your second and third posts due by the end of each week (Sunday evening).

Late Work Policy

Our class is unique because it is team-oriented. This means that everything you do can and will affect your team. Therefore, lateness is STRONGLY DISCOURAGED.

Rather than relying on a late policy, instead, plan ahead, manage your time, communicate with your team and submit EARLY.

Finally, industry does not respect, appreciate, or reward lateness. Start now to always be early or on time. 

Almost all assignments** allow submissions up to THREE days after the due date for a reduced maximum score. Each assignment has a due date listed on Canvas. Assignments that may be submitted late also have an available until date, which is at least 3 days after the initial due date. For these assignments, the following policy applies:

  • 0-1 Day Late:  Assignments submitted on the day after the due date will be graded normally.
  • YES: I will allow assignments (unless the assignment states that is cannot be late) to be up to 24 late with no penalty. This is because of the different time zones, etc. 
  • 2 Days Late: Assignments submitted on the second day after the due due date will be graded normally and then any points past a 80% point total will be lost.
  • 3 Days Late: Assignments submitted on the third day after the due date will be graded normally and then any points past a 65% point total will be lost. *
  • Those who are 2 - 3 days late more than once will be contacted and may have further restrictions imposed on them. 
  • Those who make their team late may get a lower grade than their team members.

**This late policy does not apply to the Discussion assignments. Graded Discussions must be completed in a timely manner in order to engage with your classmates in the conversation. Discussions: Initial post due Thursday, replies due Sunday.


Makeup Exams

This course has no tests or exams.


Incompletes

Incomplete (I) grades will be granted only in emergency cases (usually only for a death in the family, major illness or injury, or birth of your child), and if the student has turned in 80% of the points possible (in other words, usually everything but the final paper). If you are having any difficulty that might prevent you completing the coursework, please don’t wait until the end of the term; let me know right away.


Statement Regarding Religious Accommodation

Oregon State University is required to provide reasonable accommodations for employee and student sincerely held religious beliefs.  It is incumbent on the student making the request to make the faculty member aware of the request as soon as possible prior to the need for the accommodation. See the Religious Accommodation Process for Students.


Guidelines for a Productive and Effective Online Classroom

(Adapted from Dr. Susan Shaw, Oregon State University)

Students are expected to conduct themselves in the course (e.g., on discussion boards, email) in compliance with the university’s regulations regarding civility. Civility is an essential ingredient for academic discourse. All communications for this course should be conducted constructively, civilly, and respectfully. Differences in beliefs, opinions, and approaches are to be expected. In all you say and do for this course, be professional. Please bring any communications you believe to be in violation of this class policy to the attention of your instructor.

Active interaction with peers and your instructor is essential to success in this online course, paying particular attention to the following:

  • Unless indicated otherwise, please complete the readings and view other instructional materials for each week before participating in the discussion board.
  • Read your posts carefully before submitting them.
  • Be respectful of others and their opinions, valuing diversity in backgrounds, abilities, and experiences.
  • Challenging the ideas held by others is an integral aspect of critical thinking and the academic process. Please word your responses carefully, and recognize that others are expected to challenge your ideas. A positive atmosphere of healthy debate is encouraged.

Establishing a Positive Community

It is important you feel safe and welcome in this course. If somebody is making discriminatory comments against you, sexually harassing you, or excluding you in other ways, contact the instructor, your academic advisor, and/or report what happened at Student Conduct Reporting so we can connect you with resources.


Expectations for Student Conduct

Student conduct is governed by the university’s policies, as explained in the Student Conduct Code (https://beav.es/codeofconduct). Students are expected to conduct themselves in the course (e.g., on discussion boards, email postings) in compliance with the university's regulations regarding civility.


Academic Integrity

Integrity is a character-driven commitment to honesty, doing what is right, and guiding others to do what is right.  Oregon State University Ecampus students and faculty have a responsibility to act with integrity in all of our educational work, and that integrity enables this community of learners to interact in the spirit of trust, honesty, and fairness across the globe.

Academic misconduct, or violations of academic integrity, can fall into seven broad areas, including but not limited to: cheating; plagiarism; falsification; assisting; tampering; multiple submissions of work; and unauthorized recording and use.

It is important that you understand what student actions are defined as academic misconduct at Oregon State University.  The OSU Libraries offer a tutorial on academic misconduct, and you can also refer to the OSU Student Code of Conduct and the Office of Student Conduct and Community Standard’s website for more information.  More importantly, if you are unsure if something will violate our academic integrity policy, ask your professors, GTAs, academic advisors, or academic integrity officers.


TurnItIn

Your instructor may ask you to submit one or more of your writings to Turnitin, a plagiarism prevention service. Your assignment content will be checked for potential plagiarism against Internet sources, academic journal articles, and the papers of other OSU students, for common or borrowed content. Turnitin generates a report that highlights any potentially unoriginal text in your paper. The report may be submitted directly to your instructor or your instructor may elect to have you submit initial drafts through Turnitin, and you will receive the report allowing you the opportunity to make adjustments and ensure that all source material has been properly cited. Papers you submit through Turnitin for this or any class will be added to the OSU Turnitin database and may be checked against other OSU paper submissions. You will retain all rights to your written work. For further information, visit Academic Integrity for Students: Turnitin – What is it?


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 Disability Access Services. 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.


Accessibility of Course Materials

All materials used in this course are accessible. If you require accommodations please contact Disability Access Services (DAS).

Additionally, Canvas, the learning management system through which this course is offered, provides a vendor statement certifying how the platform is accessible to students with disabilities.


Tutoring and Writing Assistance

There are a variety of tutoring and academic skills resources across campus. Here are some of the most common for engineering students.


Ecampus 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.

Ecampus students are always encouraged to discuss issues that impact your academic success with the Ecampus Success Team. Email ecampus.success@oregonstate.edu to identify strategies and resources that can support you in your educational goals. 

If you feel comfortable sharing how a hardship may impact your performance in this course, please reach out to me as your instructor.

  • For mental health:

Learn about counseling and psychological resources for Ecampus students. 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).

  • For financial hardship:

Any student whose academic performance is impacted due to financial stress or the inability to afford groceries, housing, and other necessities for any reason is urged to contact the Director of Care for support (541-737-8748).


Student Evaluation of Courses

During Fall, Winter, and Spring term, the online Student Evaluation of Teaching system opens to students the Wednesday of week 8 and closes 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 Online Services. Course evaluation results are extremely important and 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) and unavailable 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.

Course Outline By Week

Week 1
Week 2
Week 3
Week 4
Week 5
Week 6
Week 7
Week 8
  • v0.7 (due this week)
Week 9
Week 10
Week 11
Nothing — Congratulations, you're done!

Please post all course-related questions in the Ed Discussion so that the whole class may benefit from our conversation. Please contact the Instructor(s) privately for matters of a personal nature. For questions about grading, please contact your grader. The Instructor and Teaching Assistants will reply to course-related questions within 24 hours. We will strive to return your assignments and grades for course activities to you within 5-7 days of the due date.

To contact the Instructor or Teaching Assistants directly, please email.

We strongly suggest tagging your email with "[CS 462]" in the subject line. If you do not receive a response within one business day, feel free to send a follow-up email. Sometimes we miss things!

Instructor:

Teaching Assistants:

Preferred Communications methods:

  • Anything of a personal nature (grades, extensions, etc):  Email
  • General questions about the class, or assignments, or the Showcase:  Ed discussions
  • Group communication (for you and your team):  Teams, Slack, Discord, Zoom, or whatever works
  • The Instructor and GTAs will often email you.  Make sure to check your spam folders!

Tutoring and Writing Assistance

There are a variety of tutoring and academic skills resources across campus. Here are some of the most common for engineering students.

More Info:

We are not Debuggers, Programmers, or Architects — that's your job! Please do not send the instructor or TAs any code except what is required for your assignment submissions. If you want to ask a question, go ahead. The worst that happens is we will tell you to Google for the answer (and probably share a link or two with you in the process).

At the same time, we WILL be helping you with your writing assignments. If you have a question about writing, don't hesitate to ask and please also use the writing resources that OSU offers.

Welcome to CS 462 Capstone! This course is very different from previous courses in the program. This is where many of you get to work with an outside project sponsor, with very little input or guidance from the instructor. Many students have told me this was the most fun course they have taken in the program.

Here are some ways to be successful in this course:

How to Succeed in Capstone (short version)

  • Maintain a good working relationship with your teammates
  • Work at least 10 hours per week on assignments and project tasks
  • Always communicate, participate, and cooperate!

How to Succeed in Capstone (full version)

  1. Set up Canvas Notifications. Your instructor will often send out important Canvas Announcements that you will not want to miss.
  2. Want to see a roadmap for this course? The major assignments are viewable in the course Schedule tab of the Syllabus.
  3. Go right to the task list in the overview page at the start of every module and make a weekly plan for yourself.
  4. Work at a steady pace throughout the term. 10 hours per week is the expectation.
  5. The Canvas Calendar can help you with due dates. Set up notifications (see above).
  6. Do Not neglect any of the Surveys, Discussions, or Blogs! These points add up!
  7. Make sure to visit the Canvas explorations. Most are designed to support your assignments.
  8. Get help when you need it! Your team is there for you, and so are your project partners, TA’s, and instructor.
  9. Familiarize yourself with the outcomes for a Writing Intensive Course (WIC).
  10. Get help on writing: Visit the OSU Writing Center.
  11. A significant part of the Capstone Course Learning Objectives (CLO's) are based on teamwork.
    • Helping your teammates should be part of your plan!
    • Following your team's working rules is important as well.
  12. Communication is KEY!
    • Maintain contact with your team ALWAYS!
    • If you have to be absent for meetings or can't work for any reason, let your team know.
    • If you are struggling or falling behind, let your team know.
    • If you feel someone isn't pulling their weight, let them know (respectfully).

Communication really is KEY!

You absolutely must keep in regular contact with your team. I know that many of you have jobs and lives outside of this program, and we try to be as flexible as possible. However, this isn't a weekend-only class. You need to communicate with your team and agree on a schedule for regular meetings and progress updates. Having a busy work/school/personal life is not an excuse for disappearing on your group. If your group has gone more than a week without hearing from you, you may be removed from your group. Even excused absences can result in removal from your group if they significantly impact the group's ability to finish the project.

Teamwork and Non-performance

Your team is there for you and you should be there for your team... 

You are responsible for notifying me about absent/under-performing team members. Even though I can see if a student has stopped submitting progress updates or is not showing appropriate progress, I cannot contact the other members of the group to investigate because of academic records privacy regulations. If you have not heard from a group member in more than a week, it is your responsibility to contact me. Waiting until a few days before the final design paper is due is not an appropriate time to send me an email about how you're the only one that has contributed anything to the project assignments all term. 

I will do everything I can to make sure that students are not unfairly punished for the actions of their group member(s). Because many students plan to use the final deliverable in their professional portfolios, I take non-participation and under-performance very seriously. Please keep in mind the effects that your choices can have on the other people in your group who have all invested a significant amount of time and money into this program and want to have the best final product to show for it that they can.