I plan to create an alternative Introduction to Computer Science class that focuses on mobile app development using the new Swift programming language. Unlike other introduction classes that we teach, this class will be self-paced, exclusively online, and will not count for course credit.
The class itself will consist of a series of recorded lectures and assignments that I plan to produce over the summer. These lectures are going to consist of recorded screencasts (slides and programming examples) and video (solving problems at a whiteboard). The assignments will be similar to our normal introduction class but with two major differences. First, the problems will focus on creating mobile apps. Second, the assignment will not be graded. Instead answer keys will be provided to the students. (To reiterate, because this class will not count for course credit, students will not have tests, will have no grades, and will receive no formal feedback on assignments.)
There are two learning objectives of this class:
- Teach students the same level of knowledge of computer science that they would receive in our normal introduction class.
- Teach students enough Swift programming that they can make their own mobile app.
Additionally, there are four strategic goals of this class.
- Many AC students have shown an interest in making mobile apps, but do not have time in their schedule to take the years of prerequisite classes that are required by our department. This would provide a way for those motivated students to learn just the knowledge they require.
- Swift, a relatively new language, could possibly be a better first language for students to learn than Python and Java (our current first languages). This would allow us to see how well students learn Swift before we commit to changing our curriculum from Java/Python to Swift.
- This class would enable students who discover computer science late (i.e. second semester sophomore year or first semester junior year) a chance to learn introduction concepts, catch up, and possibly major or minor in computer science.
- Since this class would be accessible online to anyone (AC student or otherwise), it could help serve as a recruiting tool for potential students. While it would not provide students with a real AC experience, it would help give them of a better taste of what it’s like to take a class here than sitting in just one class.
Because this class would be online only I can’t actually “teach” it three times. That being said, I plan on keeping the content updated based on changes in Computer Science and Swift for three years.