Course Syllabus
Course Description
Do you have an idea for the next killer app? Or, do you want to know how apps are made? In this course, students build apps using Swift, Apple’s latest development language for the iPhone and iPad, and Xcode, Apple’s professional development environment. In a classroom setting designed to mimic a real dev shop, students will learn how to build apps, and utilize tools that programmer teams use, such as Agile Project Management, version control, and pair programming. By the end of the course, students will not only have the skills to build their own apps, but also gain improved teamwork and time management skills.
Essential Questions
- What characterises a great mobile app?
- What skills are necessary to develop a successful mobile app?
- How do mobile apps affect society, both now and in the future?
Outcomes
Upon successful completion of this course, students will:
- Know how to construct different types of iOS mobile applications using industry standard tools
- Understand how to translate user stories into viable mobile solutions.
- Apply fundamental design patterns and Agile project management to build an iOS application from end-to-end
- Create an custom app of their own design from scratch
Instructional Strategies
This course promotes self-learning and self-discovery, and to that end, is project-based and replicates the environment of a development shop while incorporating assessments - both formative and summative - along the way. The course is structured so that students are actively building apps starting right away. Most classes open with a demonstration of what will be built and a "mini-lesson" (aka “hackwich”) featuring context for the daily challenge. Then, students leverage differentiated instructional options, such as screencasts, small groups, and other guided instruction, to learn the skills in their desired preference. This allows students to process new information in alignment to their learning style.
Each day the teacher has the opportunity to coach and conference with students at the individual level in order to help students learn. At regular intervals, students meet in small groups to demonstrate what they completed, and to give and receive peer feedback. An atmosphere and project management style similar to that of a professional development shop are provided so that students are also exposed to the softer skills necessary to be a successful developer, while structuring an environment that encourages students to work independently and sufficiently challenge themselves.
Learning Portal: The fundamental tool of computer science is a computer. You will be using your school laptop everyday in class, so be sure to bring it to class everyday fully charged and ready to go. We will be installing software specific for the class on it. Furthermore, all of our class content will be presented through this Canvas course site, which will provide you with all of the details regarding classroom lessons, assignments, assessments, and grades.
Expectations:
- Be present. Exercise mindfulness.
- Come prepared, ready to learn.
- Put forth your best effort, doing more than what is required.
- Demonstrate respect for yourself, fellow students, and me.
Grading Policies:
Semester grades will be determined based on the following weights:
| Projects | 48% |
| Quizzes | 32% |
| Final Project | 20% |
The grading scale is as follows:
| A | 90 - 100% |
| B | 80 - 89% |
| C | 70 - 79% |
| D | 60 - 69% |
| F | 59% and below |
Projects: You will have a multitude of projects to complete that will be listed in the online assignment guide. Projects are generally due the following day, but can be turned in any time during the semester. Simple projects will be assigned a point value from 0 to 5 based on the amount completed. More extensive projects will be spread out over several days (or even weeks) and will be evaluated separately according to the complexity of the assignment. The key to doing well in this class is to complete all of the assignments on time!
Quizzes: Most topics of study are followed by a series of online questions to assess your level of understanding. Your answers are automatically scored so that you will know immediately how well you have done. You may immediately retake any quiz anytime to improve your score, but the questions are randomized so you will not be asked the same questions in the same order as before.
Final Project: There will be a final project due at the end of each semester, where students are provided the opportunity to create a working app of their own choosing. Students will then demonstrate their work to the rest of the class.
Extra Help: If you do not understand a particular topic, come in for help immediately! Don’t wait until it is too late! I am available both before and after school (it is ok to drop in without an appointment). I consider my most important teaching opportunity is to spend time directly with students as a resource for their learning.
Thanks! I’m looking forward to a fabulous year together with you!
Course Summary:
| Date | Details | Due |
|---|---|---|