CSC 340: Software Engineering: 3 hours

11 Sep 2023 - 12:56 | Version 1 |

Description

Students learn about the details of leading software engineering methodologies and how to implement the associated techniques. Prerequisite: (CSC 121 or ITSC 121) and CSC 150.

Goals for CSC 340 are:

  1. Learn the fundamentals of software engineering
  2. Learn the fundamentals of Agile
  3. Practice the aspects of Agile and SE on a real campus project
  4. Work on a team

Course outcomes for CSC 340 are:

  • Upon completion of CSC 340, students will understand:
    • the techniques associated with current software engineering techniques (specifically Agile)
    • how to practice such techniques
    • the issues associated with communicating with a customer
    • how to write quality artifacts for a project and present them
    • how to refine their work

Program outcomes for CSC 340 are:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
  3. Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program\x92s discipline. (Computing student learning outcome 5)
  6. Learn new areas of technology. (Computing student learning outcome 6)
  7. Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
  8. Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
  9. Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)

Integration

  1. Self learning at the introductory level by requiring students to learn at least one aspect of Agile programming on their own and use it during the semester.
  2. Note taking at the application level by requiring students to take quality notes from meetings and grading those notes
  3. Technical writing at the application level by quality artifacts and documentation to be in a final form
  4. Team work at the application level by
    • requiring most (if not all) project work to be done in teams. Switching team members during the semester should be considered
    • having the roles in the team chance throughout the semester
  5. Professional at the application level by requiring students to treat all team meetings in a professional context and preparing their work to be at the professional level instead of homework level.
  6. Security at the application level by requiring all work on software to include a section on the security issues
  7. Ethics at the application level by
    • requiring all work on software to include a section on ethical issues
    • covering cases of software failure and the ethics associated with that
  8. Verbal communication at the application level by requiring each team to make at least two presentations to the class.

Details

  • Professor: Dr. Cathy Bareiss
  • Office SB 31
  • Class Time: 9:30-10:50 TR
  • Lab Time: 2:00-4:50 R
  • Class Location: S 030
  • Textbook: Student membership in ACM. Resources used will include:
    • AFP: Agile from First Principles: ISBN: 978-1-78017-5799. By: Lynda Girvan and Simon Girvan
    • ADRW: Agile Development in the Real World: ISBN: 9781484216781. By: Alan Cline
    • AFPPF: Agile Foundations—Principles, Practices and Frameworks: ISBN: 978-1-78017-254-5. By: Peter Measey
    • SMD: Software Modeling And Design: UML, Use Cases, Patterns, and Software Architectures: ISBN: 9780521764148. By Hassan Gomaa
    • UEF: User Experience Foundations.By: Nick de Voil
    • Course: Agile Foundations: Fundamentals
    • Channel: Agile Development

Course Content

Policies

  • 50% of the grade is based on the exams. The final exam is worth twice a normal exam and is cumulative
  • 40% is based on the labs
  • 10% is based on homework, quizzes, etc.

Assignments

There are at least two types of assignments:
  • Prep for class. Because this class will often be "flipped", there will be reading assignments and reports to be done before most classes. Time in class will be spent covering questions, highlighting important items, doing work. The assignment for each day is as follows (unless otherwise stated in class, etc.):
    1. Learn about the topic(s) for the upcoming class from one or more of the approved resources (under the textbook section above). You may use other sources only if the above do not cover the topic
    2. Prepare a pdf document to be submitted by 8:00am of the morning of the class that contents the following:
      1. Name, topic(s), source(s) used
      2. Bulleted list of main points
      3. At least two major insights you gained from your learning
      4. Any questions or things you want reviewed in class.
  • Reactions to current events/publications. A reaction to an article includes enough to convince me that you have read the entire article and not just the headline or first paragraph. It should include s summary of what was said and your reaction. Be sure to give a complete reference to the item. These should be turned in as a hard copy in class within one week of the item being published. You may pick when. Each one does have a deadline. The ones you pick must be unique to this course
    1. Write a reaction to one article in the ACM TechNews about software engineering with a preference for anything to do with Agile. This needs to be completed by midterm.
    2. Write a reaction to one article in XRDS about software engineering with a preference for anything to do with Agile. This needs to be completed before the final.
    3. For extra credit (worth 50% of above), write a reaction to one article in the ACM Communications (within 2 weeks of it being published) about software engineering with a preference for anything to do with Agile. This needs to be completed before Thanksgiving.

Project Work

Grades for this section will be based on:
  • Quality of the group work produced (20%)
  • Group and individual assessment of the group about its improvement of Agile practices demonstrated over the semester (30%)
  • Group and individual assessment of each person's work demonstrated over the semester (20%)
  • Group and individual assessment of each person's improvement of Agile practices demonstrated over the semester (30%)

Grades

Your grades are made up of exams (1/3), assignments (1/3), and project work (1/3)

  • Grade scale
    • 93% <= average <= 100% → A
    • 90% <= average < 93% → A-
    • 87% <= average < 90% → B+
    • 83% <= average < 87% → B
    • 80% <= average < 83% → B-
    • 77% <= average < 80% → C+
    • 73% <= average < 77% → C
    • 70% <= average < 73% → C-
    • 67% <= average < 70% → D+
    • 63% <= average < 67% → D
    • 60% <= average < 63% → D-
    • 0% <= average < 60% → F

Tentative Schedule

Tuesday Sorted ascending Thursday Thursday Lab
11/07 11/09: Exam 3 11/09: Sprint 4
12/05 12/07
Final Exam: 8:00-9:50
12/07
8/15 8/17: Class begins
Agile Values and Supporting Principles
Pre class assignment
Possible in class biography assignments
8/17: Lab begins
Overview of projects, sprints, story card
story card assignment
8/22: roles, story card discussions 8/24: decision matrix, visual board, backlogs 8/24: additional project proposals, project discussion and choices, teams
8/29: Diagrams (architecture, ER, UML, etc.)
SMD
8/31: Daily stand ups, UI's
AFPPF 8.3
8/31: Sprint planning
9/05: auto testing 9/07: Exam 1 9/07
9/12: UI's
UEF
9/14: Retrospective 9/14: Sprint 1
9/19: 9/21: Code Review 9/21
9/26: Service Day 9/28 9/28: Sprint 2
10/03: Code review 10/05: Fall Break 10/05: Fall Break
10/10: Code review 10/12:CCSC Board Meeting
Exam 2
10/12: CCSC Board Meeting
10/17: Code review 10/19 10/19
10/24 10/26 10/26: Sprint 3
10/31 11/02 11/02
11/14 11/16 11/16
11/21 11/23: Thanksgiving break 11/23: Thanksgiving break
11/28 11/30 11/30: Final sprint

Campus Integrity Policy

The student handbook (p. 156) states: “Any act of deceit, falsehood or stealing by unethically copying or using someone else’s work in an academic situation is strictly prohibited.

  1. A student found guilty of plagiarism or cheating will receive an “F”(zero) for that particular paper, assignment or exam. Should this occur, the professor will have an interview with the student and will submit a written report of the incident to the academic dean.
  2. If a second offense should occur, the student will be asked to appear before the professor, the academic dean and the vice president for student development.

The student should realize that at this point continuation in a course and even his/her academic career may be in jeopardy. In the event of a recommendation for dismissal, the matter shall be referred to the Student Development Committee.”

Covid Policy

Everyone should follow the current Bethel University covid policy. See: https://www.betheluniversity.edu/intheknow for details

Services

The Americans with Disabilities Act (ADA) is a law which provides civil rights protection for people with disabilities. Bethel University, in compliance with equal access laws, requests that students with disabilities seeking to acquire accommodations make an appointment with the Center for Academic Success—Disability Services. It is located in the Miller-Moore Academic Center, 033. You may also phone 574-807-7460 or email rachel.kennedy@betheluniversity.com.edu for an appointment.

DEI Statement

During this particularly difficult time, this statement momentarily underscores and deepens what is expressed in the Lifestyle Covenant regarding the dignity of all humans. The statement will remain in all Bethel Faculty syllabi until spring 2023 and then be remanded back to the Faculty. Bethel University respects the dignity of all God’s image-bearers, and stands against racism, prejudice, and discrimination. Because Christ calls us to love our neighbor as ourselves, Christian discipleship includes pursuing the good of those who suffer injustice due to their color, race, or ethnicity. Therefore, we aim to continually transform our classrooms into safe and hospitable spaces where we listen to one another with mercy, learn from and value each other with tenacity, and commit to pursuing justice for the most vulnerable in our community.

Education Majors:

Please use the link below to review all appropriate standards. Standards
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback
This website is using cookies. More info. That's Fine