Difference: CSC340SylF2023 (7 vs. 8)

Revision 82023-08-16 - CathyBareiss

Line: 1 to 1
 
META TOPICPARENT name="Syllabi"

CSC 340: Software Engineering: 3 hours

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’s 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’s 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.
Line: 12 to 12
 
    • 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
Added:
>
>
    • SMD: Software Modeling And Design: UML, Use Cases, Patterns, and Software Architectures: ISBN: 9780521764148. By Hassan Gomaa
 
    • Course: Agile Foundations: Fundamentals
    • Channel: Agile Development
Line: 60 to 61
 
Tuesday Thursday Thursday Lab
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
Changed:
<
<
8/29: Diagrams (architecture, ER, UML, etc.) 8/31: Daily stand ups, UI's 8/31: Sprint planning
>
>
8/29: Diagrams (architecture, ER, UML, etc.)
SMD
8/31: Daily stand ups, UI's 8/31: Sprint planning
 
9/05: auto testing 9/07: Exam 1 9/07
9/12: UI's 9/14: Retrospective 9/14: Sprint 1
9/19: 9/21: Code Review 9/21
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2026 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback