CSCE 5430: Software Engineering - Fall 2017
Instructor: Paul Tarau, Professor - see my home page for contact info and office hours.
Grader: you can contact him via blackboard
Description and Objectives:
A hands-on, project-based exposure to modern software engineering techniques.
Software development methodologies
Agile software development
- Planning tools: Jira and Trello
- Techniques: Scrum, Kanban
- Automation tools: make, ant, maven
Software version control
- Open source development techniques
- Open source flavors: GPL, Apache, MIT
- Proprietary software
- Software as a service
Software Quality Assurance
Patterns and Anti-Patterns
- Unit testing
- Integration testing
- Test-driven development
- Random Testing
- Formal methods
New trends in software engineering
Prerequisites: Data Structures, Algorithms, Programming Languages, significant hands-on coding experience in Java and/or C/C++.
No textbook, relying on online materials, some collected here .
Software, tutorials and related links:
- Individual Exam : 40%
- Teams assignments 20%
- Final Team Project (groups of 3-4, deliverable on Github): 40%