DCS 801 Agile Software Development
Instructor: Rinaldo Di Giorgio, Room 325, Goldstein Academic Center, Pace University, Pleasantville.
- September 9-12
- OO Concepts for DCS 801
- What is Research — Tappert
- Library Overview
- October 3 — End Sprint One, Start Sprint Two
- October 31 — End Sprint Two, Start Sprint Three
- November 21 — End Sprint Three, Start Sprint Four
- December 19 — End Sprint Four
Textbooks and Additional Information:
- Java in a Nutshell Paperback – November 6, 2014 by Benjamin J Evans (Author), David Flanagan (Author) ISBN-13: 978-1449370824 ISBN-10: 1449370829 Edition: 6th
- Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration (Net Objectives Lean-Agile Series) Paperback – January 1, 2011 by Ken Pugh (Author) ISBN-13: 978-0321714084 ISBN-10: 0321714083 Edition: 1st
- The Cucumber for Java Book: Behaviour-Driven Development for Testers and Developers Paperback – February 16, 2015 by Seb Rose (Author), Matt Wynne (Author), Aslak Hellesoy (Author) ISBN-13: 978-1941222294 ISBN-10: 1941222293 Edition: 1st
- Agile Software Development with Distributed Teams Staying Agile in a Global World Dorset House, New York, 2010 by Jutta Eckstein ISBN 978-0-932633-71-2
- Learning Agile: Understanding Scrum, XP, Lean, and Kanban Paperback – November 23, 2014 by Andrew Stellman (Author), Jennifer Greene (Author) ISBN-13: 978-1449331924 ISBN-10: 1449331920 Edition: 1st
- Polymorphism Joe Bergin
Course Description and Syllabus:
This courses address the environment in which software systems are built and used. Critical and emerging issues in computer science, information systems, and software engineering, and their relationship to software development and design provide the major theme. This is a foundation course providing a broad exposure to working on teams with numerous tools in current use.
Students develop projects working in small teams. The focus is on Lean-Agile software practices—being, thinking, and doing Agile. Students experience dispersed and distributed software development exploring such Agile methodologies. Pattern-oriented Lean software architecture incorporating Test Driven Development and Behavior Driven Design as an approach to software development is explored. Emphasis is placed on practice oriented software engineering, tool rich working environments, team development efforts, and cost performance trade-offs in business contexts.
Topics include: Problem solving paradigms; the software engineering problems of scale, cost, schedule, quality, and consistency; Lean-Agile software development processes; retrospectives; open source software; object-oriented analysis and design; organizational patterns; analysis patterns, design patterns; use of tools and frameworks like git, jenkins, maven, eclipse/netbeans, junit, confluence, cucumber, cloud hosted testing and deployment.
- What is Object Oriented Programming
- Alternatives to OO
- Given a task understand how to select language and tools using an Agile approach
- How to select and use Tools
- Software Development when you have distributed dispersed teams
Evaluation for Course Grade:
- 60% – Software Project
- 20% – Midterm Exam
- 20% – Final Exam