Difference between revisions of "IU:TestPage"

From IU
Jump to navigation Jump to search
Line 74: Line 74:
 
* Design Patterns: Elements of Reusable Object-Oriented Software 1st Edition by Erich Gamma, Richard Helm, Ralph Johnson
 
* Design Patterns: Elements of Reusable Object-Oriented Software 1st Edition by Erich Gamma, Richard Helm, Ralph Johnson
 
* Pro Git by Ben Straub and Scott Chacon
 
* Pro Git by Ben Straub and Scott Chacon
  +
== Course Sections ==
  +
The main sections of the course and approximate hour distribution between them is as follows:

Revision as of 16:12, 28 March 2022

Software Project (Fundamentals to Software Engineering from 2021 check another syllabus)

  • Course name: Software Project (Fundamentals to Software Engineering from 2021 check another syllabus)
  • Course number: S20-SP

Course Characteristics

Key concepts of the class

  • To understand agile models of interaction design, development, and project management and put those concepts in practice in real software development.
  • To get acquainted with processes, technologies, and activities involved eliciting, analyzing, validating, specifying, and managing functional and non-functional requirements of software systems.
  • To manage risks and decisions making based on the risk management
  • To be able design software, and to write code that sticks to good practices of cohesion, coupling, modularity, reusing, and encapsulation.
  • To get familiar with standard reliability techniques such as validation (testing) and verification.
  • To gain practical experience with refactoring techniques to improve the quality of existing code.

What is the purpose of this course?

The main objectives of this course are the following: \begin{itemize} \item To understand agile models of interaction design, development, and project management and put those concepts in practice in real software development. \item To get acquainted with processes, technologies, and activities involved eliciting, analyzing, validating, specifying, and managing functional and non-functional requirements of software systems. \item To manage risks and decisions making based on the risk management \item To be able design software, and to write code that sticks to good practices of cohesion, coupling, modularity, reusing, and encapsulation. \item To get familiar with standard reliability techniques such as validation (testing) and verification. \item To gain practical experience with refactoring techniques to improve the quality of existing code. \end{itemize}

Course objectives based on Bloom’s taxonomy

- What should a student remember at the end of the course?

By the end of the course, the students should be able to

  • recall Agile manifesto and principles
  • recognize different Agile frameworks
  • define core principles and rituals of Scrum framework
  • list different types of product backlog items
  • recall main concept of system testing, VCM, software architecture, technical debt

- What should a student be able to understand at the end of the course?

By the end of the course, the students should be able to

  • discus pros can cons of different project management tools
  • describe criteria for good product backlog
  • describe criteria for efficient user stories
  • explain how to conduct iteration planing, review and retrospective
  • discuss possible strategy of Agile implementation

- What should a student be able to apply at the end of the course?

By the end of the course, the students should be able to

  • elicit requirements and work with requirements
  • design, implement, verify and maintain efficient systems
  • present work in front of stakeholders
  • effectively critiquing the work of others and receiving such criticism
  • work in a development team and collaborate between different teams

Course evaluation

Course grade breakdown
type points
Group work 60
Individual work 40
Test 10

Grades range

Course grading range
grade low high
A 85 100
B 75 84
C 60 74
D 0 59

Resources and reference material

  • Essential Scrum: a practical guide to the most popular agile process by Kenneth S. Rubin.
  • Lean Software Development in Action by Janes, Andrea, Succi, Giancarlo
  • Software Architecture in Practice, Third Edition by Rick Kazman, Paul Clements, Len Bass
  • Design Patterns: Elements of Reusable Object-Oriented Software 1st Edition by Erich Gamma, Richard Helm, Ralph Johnson
  • Pro Git by Ben Straub and Scott Chacon

Course Sections

The main sections of the course and approximate hour distribution between them is as follows: