1. Coding
2016-2017
Instructor: Mr. Joslin
E-mail: jjoslin@newhampton.org
Phone: (603)677-3968
Web: log into onCampus
Course Description
Coding is an introductory, semester-
long computer science class focused
on fundamental computational
practices. The course is designed to
introduce students to the breadth of
the field of programming through an
exploration of engaging and
accessible topics. Rather than
focusing the entire course on
learning particular software tools or
programming languages, the course
is designed to focus on the
conceptual ideas of computing and
help students understand why certain
tools or languages might be utilized
to solve particular problems. The
goal of Coding is to develop in
students the
computational
practices of
algorithm
development,
problem solving,
and programming
within the context
of problems that
are relevant to the
lives of today’s
students.
Course Competencies &
Foundations of Learning Skills*
Competency #1: Content Knowledge By the
conclusion of this course students will demonstrate
knowledge of fundamental programming concepts and
languages/environments by:
a. making decisions based on input with if
statements
b. repeating commands until a condition is met with
loops
c. recalling or storing information with variables
d. performing the same operations on various
inputs with functions
e. recognizing and employing syntax for a
language or environment
Competency #2: Technique By the conclusion of this
course students will create, edit, and optimize code by:
a. visualizing and planning solutions to problems
prior to writing code
b. not repeating code
c. simplifying code to the minimum number of lines
d. removing or avoiding unneeded functionality
e. debugging their own code and that of their peers
Competency #3: Skills By the conclusion of this
course students will develop real-world coding skills by:
a. creating media rich and interactive websites
b. programming a game in Scratch
c. programming a game in Python
d. making an iPad app in Swift
Competency #4: Communication By the conclusion
of this course students will
present process, product,
and reflection by:
a. writing with
fluency and
understanding of
purpose and
audience
b. documenting
process, product,
and reflections via
a digital portfolio
Honor Code
As a member of the New Hampton School
community:
• I will conduct myself with integrity and honesty
in all matters.
• I will demonstrate respect and responsibility in
all of my actions.
• I will uphold the values of active citizenship
and abide by the expectations set forth in the
School Life Handbook
Class Meetings
Block: A and F
Room #: Pilalas 103
Extra Help
Fall/Spring: M 2:50-3:10 & Th 10:25-10:55
Winter: M 2:50-3:10 & F 9:55-10:25
Other: B, E, F Blocks or by appointment
Location: Pilalas 103
2. Course
Expectations
Cell Phones
It is the expectation
that cell phones are turned off and
stored out of sight for the entire class.
Cell phone use of any kind is not
permitted during class.
If a cell phone is used in class, it
will be collected until the end of the
period.
If a pattern of misuse develops,
students may be asked to turn in
their cell phones at the beginning of
each class.
Course Materials
The following must be brought to class daily:
• Headphones (for viewing instructional videos)
• Pen or Pencil
• A positive attitude
• Willingness to work through challenges
The following will be needed at times, but you will
be given advance notice on when they are required:
• Charged iPad w/ Cord, & Case
• iPad Apps: NHS provided apps, Socrative
The following materials are optional:
• Personal Computer: charged with cord
• Notebook: the paper kind
• Calculator: any scientific calculator
There is no textbook for this class. All teaching
material (videos, articles, websites, etc.) will be
available in onCampus.
Technology Policy
While there will be times where technology is not
necessary, you will be expected to sign into a school
computer or open your laptop and begin working
independently at the start of most classes.
RED LIGHT: Technology is off and stored away.
(Rare in this class!)
YELLOW LIGHT:
Technology is used for specific purpose as
designated by the teacher. (95% of the course!)
GREEN LIGHT:
Technology is used for designated tasks, homework,
current events, reading Wired or MAKE magazines,
or independent programming projects. (Also rare!)
Attendance/Tardiness
Attendance is required at all class
meetings. If your absence is not
excused, you will receive a cut.
Please be on time. If you are not
present when class begins (i.e.
when the door is closed), you are
tardy. If you are tardy three times
you will receive a cut.
Participation
A successful student in Coding will participate fully each day, will come to
class prepared with all required materials and work, and will organize all
course materials in a clear and concise manner. Students are expected
to meet the Personal Tech 3 C’s when asked to do so.
Participation will not be assessed explicitly as the students will generally
be allowed to move through the course content at their own pace.
Effective use of time, meeting deadlines, and demonstrating skills
mastery is dependent upon active and consistent participation.
Personal
Tech
4 C’s
Charged
Cord
Case
3. Make-up/Late Work
Late assignments will be assessed a
grade-related penalty based on how late
the assignment is submitted. It is your
responsibility to get coursework from
onCampus when you miss class.
Incomplete Work
Late minor assignments will lose 25%
credit per calendar day. Late major
assignments will lose 10% credit per
calendar day. It is your responsibility to
ensure that late work is received by the
teacher.
Unexcused Absence
Any missed assignment or assessment
due to an unexcused absence will
receive zero credit.
Unplanned Excused Absences
You will have the same amount of time to make up
homework as the time you missed (i.e. 2 excused
absences = 2 classes upon your return to make up
work). You will have 1 week to make up a test or
project.
Planned Excused Absences
If you have a planned excused absence, you must
complete your work while away and submit it upon
your return. You must get homework assignments from
the group page. Tests & projects must be completed
immediately upon your return.
Course
Work
Competency-Based Grading
On one assignment you may see multiple
grades. That is because different skills are
being assessed. For instance, you may have
done an excellent job in a web post on
writing a reflection but may have made some
errors in the design process. By assessing
you in this way I can better target feedback
and instruction.
Out of Class Work
You should expect to spend a
minimum of 30 minutes per
class on coursework
assignments. Many times,
this work will be a
continuation of what you
started in class and may
not be graded. Because
portions of this class are
self-paced, you should
always have the unit
deadline in mind. You
will not meet the
deadline if you try to do
all your work in class.
Grading Procedures
Semester grades are calculated using the
following categories and percentages:
Competency % Grade
Content Knowledge 30%
Technique 20%
Skills 30%
Communication 20%
Coursework
There will be a variety of graded assignments
in this course, including (but not limited to):
• reading, writing, and problem solving assignments
• programming and web development exercises
• projects
For each assignment, the grading criteria will be discussed or
distributed when the assignment is given. Many assignments will
be graded with the use of a rubric, which will be distributed prior to
the assignment. All rubrics will be available in onCampus.
4. Course
Work (cont.)
Extra Credit
The best way to earn
credit is to do the work
assigned by the teacher. Extra-credit
projects will not be provided at the
request of the student.
Self-Paced Learning
Each unit may consist of all or some of the following:
• set of instructional videos
• assignments
• exercises
• quizzes
• projects
Students will be allowed to progress through the
sequence of work at their own pace within a
given timeframe (generally 1-2 weeks).
There will be one deadline for each unit
when most of the unit coursework is due.
If a student finishes all coursework in a unit
prior to the deadline, they may be asked to:
•assist with instructing other students
•proceed to the next unit
•work on their independent programming
project due at the end of the term
Skills Mastery
In an effort to encourage students to take academic
risks and to do their best to reach proficiency with
the skills and content being taught, students will
be required to improve or “re-do” all
coursework (except the final project) until a
grade of “Proficient” (80%) is earned. A student
may not progress past a unit until they have
demonstrated proficiency on all assignments,
exercises, and projects in that unit.
I encourage all students to utilize Office Hours to
ensure that expectations are met and that they are
mastering the skills taught in the course.
A student may need more time than is provided
during Office Hours. I am happy to meet with
individual students during free blocks, after
classes, or in Study Hall, although the student
must initiate and schedule these times.
Independent Programming Project (Final Project)
The last few weeks of the semester will be dedicated to an independent project. Each student will
choose from one of the following three topics for their project:
• Web Development
• Introduction to Arduino
• Game Development using Scratch, Python, or Swift
Students will learn the fundamental concepts of their chosen topic much the same way they learned
the material for each of the previous units. They will then work with me to develop the desired
outcomes of their project and an outline of the necessary steps to achieve these outcomes.
In this project, students will be responsible for
• organizing their time
• mastering the requisite skills
• using an iterative process to refine their project.
5. Selected Topics and Assignments for 2016-2017
Week Topics Competencies
Emphasized
Videos/Resources & Coursework
Introduction and Web Development with HTML and CSS
1-2 Course Introduction
Hour of Code
HTML & CSS Intro
1a, 1b, 1e, 3a,
4a-b
Hour of Code Activity & Reflection
Codecademy HTML & CSS Modules
Syntax Quizzes
Digital Portfolio/Goal Setting
Visual Programming with Scratch
2-3 If Statements, Loops, Variables,
and Functions
Program Debugging
1a-e, 2b-e, 3b,
4a
Scratch videos
Scratch Blocks Quiz
Debugging Exercises
Writing Assignment
3-4 Game Development 1a-e, 2a, 2b-e,
3a-b, 4a-b
Frogger Game
Game Programming Project
Digital Portfolio/Reflection
Python
5-6 Python Syntax, Strings and
Console, Conditionals
1a, 1c, 1e, 2b,
2e, 3c, 4a
Codecademy Python Modules
Syntax Quizzes
7 Lists, Functions, Loops 1b-e, 2b, 2c,
2e, 3c, 4a
Codecademy Python Modules
Writing Assignments
8 Programming Logic 1a-e, 2a-e, 3c,
4a-b
Debugging Exercises
Logic Game Project
Digital Portfolio/Reflection
Swift
9-10 Swift Syntax, Naming,
Constants, and Strings
1a-e, 2c, 3d,
4a
Swift Playground
App Development with Swift
Syntax Quizzes
11 Building and Running an App in
XCode
Managing/editing files in Xcode
1a-e, 2a-e, 3d,
4a-b
App Development with Swift
Writing Assignments
Picture App
12 My First (Solo) App 1a-e, 2a-e, 3d,
4a-b
Debugging Exercises
First App Project
Digital Portfolio/Reflection
Independent Programming Project
13-16 Game Development OR
Logic Program OR
App Development
(choose 1 of the above)
1a-e, 2a-e, 3a,
3b or 3c or 3d,
4a-b
Scratch Tutorials
Codecademy Modules
or App Development with Swift iBook
Independent Programming Project
17 Final Project 4a-b Digital Portfolio/Reflection
Independent Project Showcase