Each team will meet for 5 hours (consecutively) a week, for intense work sessions (think hackathon-type of intensity). Instructors will join every work session, at least at the beginning. Instructor will review and evaluate the work progress of the team (and individual students) at the work session, including conducting code review with individual students.
We will adopt a somewhat agile methods where there is a weekly (or bi-weekly) release cycle and test-driven development where test cases will be developed (and tested) during development.
There will be a stand up meeting at the beginning and the end of every work session. A Kanban board (or similar techniques) will be used to keep track of tasks and progresses. We will use github extensively (if the existing project does not already have a repository).
We will also have lectures in some of the weeks for discussions and recap of various software engineering principles.