CS361: Software Engineering I


Course Name: Software Engineering I

Course Number: CS 361

Credits: 4

Instructor Name: Samarendra Hedaoo

Instructor Email: [email protected] (Include [CS361] in the subject)


Course Description

Our world is full of problems like war, poverty, addiction, and pollution. Software has played and will continue to play a vital role in promoting peace, education, health, and the renewal of our planet. But software doesn’t just grow on trees. Somebody has to carefully design and create the software in a way that addresses the problem without making it worse, without incurring excessive costs, and without creating troublesome new problems. This course will give you the skills needed to analyze big problems, discover the requirements for a solution, design a solution, and manage the solution’s implementation.


Course Credits

This course combines approximately 120 hours of instruction, online activities, and assign-ments for 4 credits.


Course Restrictions

● Prerequisite: CS 261

● A minimum grade of C is required in CS 261.

● Enrollment is limited to students with a program in Computer Science Double Degree (297) or Computer Science (307).

● Enrollment limited to students in the College of Engineering college.


Textbooks

There are no textbooks you need to buy for this course.


Exams

This course has no exams.


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.


Course Learning Outcomes (CLOs)

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

● Select the most appropriate software process model to use in a particular situation

● Synthesize requirements for a realistic software system and write a requirements specification document

● Produce professional-quality software-related documents

● Model system requirements using one or more semi-formal notations such as UML, dataflow diagrams, entity-relationship diagrams, or state diagrams

● 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

● Validate designs and adjust the specification or design as necessary

● Describe several methods of estimating the cost and developing a schedule for a programming project

● Participate effectively in a team environment


Topics Covered

Software requirements specification, software requirements elicitation, functional require-ments, non-functional requirements, quality attributes, microservices architecture, soft-ware process models, UML diagramming, use cases, user stories, project management, cost estimation, usability, paper prototyping, cognitive style heuristics, software design validation, Agile methods, code smells, refactoring, software development lifecycle.


What to Expect

● Project & Teamwork

– You will work in a team of five (you can choose your team).

– However, you will write software individually and you will mostly be graded individually.

– You can write your software in any language.

– Your software will need to communicate and use data from your teammates’ software.

– Besides integrating with your teammates’ software, you will work with your teammates to learn the course material, through team discussions.

● Rubrics & Contract Grading

– Assignments will be graded against a rubric.

– The rubrics are binary: For each criterion (e.g., “stated three ways to accomplish X”), the grader will mark either accept or revise. If they mark “revise”, they will also tell you what was unsatisfactory. You will have a week to modify and re-submit your assignment without penalty. One round of revisions per assignment.

– No revision opportunity will be available for any work due for Sprint 4 (viz. Team Discussions A and B, Discussion: Getting a Job, Discussion: Project Show-case and HW4), because of the compressed schedule of the Summer term.

– Due to the same reason, you will not get feedback on the revisions before your next HW are due, so plan accordingly.

Extra Credit

– There will be multiple extra credit opportunities throughout the course.


Grading

● I will strive to return your assignments and grades for course activities to you within one week of the due date.

● Your letter grade for the course will be assigned as follows:

● A passing grade for core courses in CS is a C or above.


Getting Your Questions Answered

● If you have a question, post on Ed Discussions. If that doesn’t get answered, contact me or a TA by email. Please do not use Canvas mail or send important messages through Canvas submission comments, as I might not see your message.

● I will strive to reply to course-related questions on Ed and email within 48 hours. However, I might not be able to respond to your questions during weekends.

● The TAs will hold weekly office hours on Microsoft Teams. The schedule will be up at here by the end of Week 1. Until the schedule is up, you can post questions on Ed and I will answer them before the end of the day.

● I will hold 1:1 office hours by appointment, in addition to Help Sessions. Details about how to book an appointment can be found here while I will send out an announcement about the Help Sessions in Week 2.


Establishing a Positive Community

It is important that you feel safe and welcome in this course. If you are the victim of discrimination, sexual harassment, or are otherwise made to feel unwelcome, there are several resources available to you: (1) You may schedule a private meeting with your instructor or your academic advisor. (2) You may contact the University Ombuds Office for confidential guidance and advice. (3) You may contact the Office of Equal Opportunity and Access to file an informal or formal complaint.


Late Work Policy

● Late quizzes, discussion board posts, and extra credit will not be accepted except if approved by instructor.

● Besides those listed above, you may turn in one assignment up to 48 hours late without penalty. This 2-day grace period can only be used on ONE homework assignment (HW1, HW2, HW3 or HW4).

● In all other circumstances, the late penalty is 20% per day.


Grading Disputes

If you believe you have been incorrectly graded, you must contact your grader or the instructor within 7 days of receiving the grade in question. Late disputes will not be considered.


Incompletes

● If you run into difficulties that prevent you from finishing the course, please contact me to discuss taking an incomplete.


10 Code Reuse

All code you turn in must be written by you this term.


11 Expectations for Student Conduct

Student conduct is governed by the university’s policies, as explained in the Student Con-duct Code. 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.


12 Academic Integrity

The Code of Student Conduct prohibits Academic Misconduct and defines it as:

Any action that misrepresents a student or group’s work, knowledge, or achievement, provides a potential or actual inequitable advantage, or compromises the integrity of the educational process.

To support understanding of what can be included in this definition, the Code further classifies and describes examples of Academic Misconduct, as follows.

Prohibited behaviors include, but are not limited to doing or attempting the following actions:

● Cheating. Unauthorized assistance, or access to or use of unauthorized materials, information, tools, or study aids. Examples include, but are not limited to, unautho-rized collaboration or copying on a test or assignment, using prohibited materials and texts, unapproved use of cell phones, internet, or other electronic devices, etc.

● Plagiarism. Representing the words or ideas of another person or presenting someone else’s words, data, expressed ideas, or artistry as one’s own. Examples include, but are not limited to, presenting someone else’s opinions and theories as one’s own, using another person’s work or words (including unpublished material) without appropriate source documentation or citation, working jointly on a project and then submitting it as one’s own, etc.

● Falsification. Fabrication or invention of any information. Examples include, but are not limited to, falsifying research, inventing or falsely altering data, citing ficti-tious references, falsely recording or reporting attendance, hours, or engagement in activities such as internships, externships, field experiences, clinical activities, etc.

● Assisting. Any action that helps another engage in academic misconduct. Examples include, but are not limited to, providing materials or assistance without approval, altering someone’s work, grades or academic records, taking a test/doing an assign-ment for someone else, compelling acquisition, selling, bribing, paying or accepting payment for academic work or assistance that contributes to academic misconduct, etc.

● Tampering. Interfering with an instructor’s evaluation of work by altering materials or documents, tampering with evaluation tools, or other means of interfering.

● Multiple submissions of work. Using or submitting work completed for another or previous class or requirement, without appropriate disclosure, citation, and instructor approval.

● Unauthorized recording and use. Recording and/or dissemination of instructional content without the express permission of the instructor(s), or an approved accom-modation coordinated via Disability Access Services.


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


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


15 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 [email protected] 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. There are many things I can do to address whatever the hardship is. Contact me as soon as possible as it’s easier to make changes sooner rather than later.

15.1 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).

15.2 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 ([email protected] or 541-737-8748).