My initial concept for class is that all of my learners will be working on projects together. I have a list of projects for other teachers and people in our community. Each semester, the "final exam" is the agreed upon version of the app being accepted by both the client and the App Store.
My newer learners will take on the role of "Junior Developer." In the first semester, they will complete a single-view, interactive page of the app project. In the second semester, they will complete two pages that are interactive and transfer data back and forth between them. As they work on designing and developing their app, the skills and concepts they need to learn will be identified. They are free to explore this on their own, or use the Everyone Can Code curriculum I have set up on Schoology for them. Regardless, they are responsible for getting their app accepted in time. More advanced learners who have completed all of the first and second semester work will take on the role of "Senior Developer". These learners will mentor the Junior Developers on their team. In this "third" semester, they will have to complete four views that are connected and have data persistence. More importantly, I am holding them responsible for seeing to the development and success of their Junior Developer mentees. By this point, I know they can get their work done. I want them to start passing that knowledge and skill on to others. For the "fourth" semester, they have to complete eight pages that read/write data to the internet. I have a couple that are taking going to take a third year. These students, after they have met the first four semesters' requirements, will take on more of a managerial role. They are managing the teams, marketing, team development, and more. On the programming side, they are going to take the iOS app that they have been working on and create complimentary companion apps for macOS, watchOS, tvOS, and a website. That's the plan for now.
0 Comments
As I talk with teachers around the country, I see a lot of innovation and progress in development of new and improved teaching methods. One area that seems to be missing though is in coding. For the most part, coding is still being taught in the same way it always has been. Students learn concepts, practice skills, and eventually, they get to work on projects. Why can't the same learning techniques be applied to coding?
I am working on making my App Development course Challenge Based. Evidence shows that Challenge Based Learning can lead to improved learning and performance in classes. There is no reason that the same can't be true for coding. To that end, I am working on revamping my entire program. In essence, I will be running the class just like a "Dev Shop". We will work on projects for actual clients, use a SCRUM project management method, and together develop strong coding skills. Stay tuned... |
About this blog pageThis is my blog covering the activities and results from my work teaching App Dev with Swift. Archives
February 2021
Categories |