Course Objectives
Overall Goal: For you to become a self-actualized software developer that creates impactful real-world software systems using agile techniques for rapid team-based development.
How?: By Doing. Through development of a team-proposed project meeting stipulated SW requirements that involves all stages of SW Development from Brainstorming, Design, Implementation, Testing, Documentation using Agile based techniques.
Some Itemized Objectives
-
Iintroduces students to team-based development of large, complex software systems.
-
Topics include clean code, requirement analysis, design, implementation, testing, project management and teamwork.
-
Students learn tools to support Best Practices for the Porject development process while completing a semester-long development project to prepare them for work in industry, research, or open-source teams.
-
The tools that may be used include:
-
IntelliJ IDEA, [IDE]
-
Git [ Version control]
-
GitHub, [remote repository + for Version control]
-
Trello, [Kanban boards]
-
Slack, [ alternative to email in teams, - support in GItHub? and BitBucket]
-
Android Studio [IDE] + Android Framework,
-
Travis Ci [hosted continuous integration service used to build and test software projects hosted at GitHub] --- this will do build tests automatically every time you push to github....so you don't have to "remember to do testing with these cases" and will not push the changes to github if they fail the tests. GOod thing is everyone doing development on the same shared tests regardless of their IDE/personal development tools
-
-
if time allow may try out
-
Zenhub [project management integrates into GitHub web interface --issue tracking, plan sprints(scrum) , Release Reports, Velocity Tracking, and Burndowns ],
-
Code Climate.[metrics like cycle time and visualizations of pulls etc from version control]
-
You are going to
|