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.

Make-up Policy:  You may make arrangements to make-up or retake any project or quiz on your own time before the end of the semester.  Please make specific arrangements with me in advance so that I may be prepared to accommodate you.  As a gentle reminder, past due projects and/or quizzes will be scored as a zero until they are completed.
 
Academic Honesty:  It is good to collaborate with other students on projects and such, but all students are expected to submit work that is their own.  My presumption is that you are taking this class because you sincerely want to learn. Cheating is not acceptable under any circumstances, not only because it is dishonest to yourself and your classmates, but it is just plain wrong. You have the freedom to take your time if you need to, so don't be tempted to take any shortcuts that will ultimately short-circuit your learning.

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:

Course Summary
Date Details Due