About Mission Bit at Lincoln HS
No matter what your ability is, effort is what ignites that ability and turns it into accomplishment.
Welcome! This page describes how this course is structured and how students can get the most out of it. Let me (the instructor) know if you have any questions or concerns in person or at topher@missionbit.com. I'm here for you, and you're going to do great!
This page is adapted from MB's Intro to Web class syllabus. Take a look through this page for additional information on this course.
- When and where
- Goal
- Student learning outcomes
- Why should I learn to program?
- Prerequisites
- How this course works
- Rules
- Guidelines for success
When and where
The class meets 4-6 PM every Monday and Wednesday from February 4th to April 24th, 2019 at Lincoln High School.
Goal
This course, Introduction to Web Development, is brought to you by Mission Bit, a nonproft organization based in San Francisco.
The goal of this course is to learn the basics of computer programming by working in groups to create a game or application using the languages of the web: HTML, CSS, and JavaScript. Groups will present their work on Demo Day at the end of the semester.
Beyond computer science, students will develop many other life skills, such as team work and peer skills, overcoming obstacles and solving problems, developing a positive growth mindset, and using planning and focus to accomplish goals.
Student learning outcomes
-
Describe the basics of HTML: tags, attributes, and HTML document structure.
-
Write a simple website in HTML including links and images.
-
Explain the purpose of CSS, CSS selectors, CSS properties, and CSS classes.
-
Write a simple CSS stylesheet with multiple selectors and attributes.
-
Explain the purpose of fundamental computer programming concepts: variables, operators, conditionals, functions, objects, arrays, and loops.
-
Apply fundamental programming concepts to the creation of a game or application using JavaScript and relevant web frameworks.
-
Use git and Github for version control.
-
Soft skills: planning, focus, effective group work, using the internet to resolve programming problems, developing a positive growth mindset.
Why should I learn to program?
Programming is an expressive, creative act
Your application can provide a worthwhile, engaging, and satisfying experience for your audience and solve real-world problems
It's a challenging exercise for your mind
The focus, discipline, patience, and logic required to program are fundamental skills which apply to all areas of your life
-
It's multi-disciplinary; programming intersects math, art, science, business, and almost any other field
You'll get under the hood of technology you already use daily and appreciate it on a deeper level
Programming is a highly desirable job skill
It's fun!
Prerequisites
This course assumes no prior knowledge other than internet browsing/computer/keyboard skills, the ability to follow detailed instructions, and the ability to apply logic to solve problems individually and collaboratively.
If you have a language barrier or special needs learning accommodation, please notify the instructor right away so we can take care of your needs.
How this course works
The course is 12 weeks long with four hours of in-class time per week. 12 weeks sounds like a lot of time, but it comes down to less than 48 hours of class time to learn programming and finish a project! Needless to say, one can't become a programming expert in such a small amount of time, so plan to devote time outside of the class to programming in order to reinforce and expand on the foundation provided in class.
The entire class is project-oriented. From the beginning, you'll be creating projects of your own choosing (within the bounds of the instructor's approval). This approach is called experiential learning, or learning by doing. I will work to facilitate groups, ensuring that students are engaging the content and their classmates effectively. I will offer lectures when necessary to clear up points of confusion, explain general concepts, and keep the class moving forward. There will be a teacher's assistant, adult mentors, volunteers and other Mission Bit staff present to assist in students' learning experience.
The entire session is group-based. I do realize group work can be challenging; however, working in groups is an essential part of life and is particularly important in the programming world, so let's dive right in, get comfortable with it, and make it fun!
The language concepts are presented in modules. Modules offer one route to acquiring programming basics. Each module's content is roughly a class period, but because students learn at their own pace, students should feel welcome to spend more or less time on a module as necessary. However, although the first few weeks may appear simple, the material will quickly become challenging, so I recommend setting a brisk pace from the start to leave ample room to absorb the later, more complicated, modules.
If the material in the modules isn't appealing to you, that's OK, I can help guide you to resources that will teach you programming applicable to the project you want to make. The important thing is you're learning web development and able to demonstrate your knowledge through projects.
Lastly, if you have non-HTML/JS/CSS-related topics you'd like to discuss, including questions about other programming languages, hardware, computer history, machine learning, and so on, please find me before, after class, or via email and I'll be happy to chat. These topics are often theoretical, fascinating and deep, and can easily consume a significant chunk of class time.
Rules
Absences and lateness
A doctor's note or parental permission will be required for absences and tardies. The first unexcused absence or tardy will result in a warning; the second will result in a phone call to a parent or guardian; the third will result in the removal of the student from the class.
When a student is absent, even if the absence is excused, it can be very easy to fall behind. Absent students are expected to follow up with the instructor and group to make up missed content.
Participation
Being physically but not mentally present in class (e.g. asleep, disengaged, unresponsive) will result in an absence.
Food and drinks
Food and drinks are allowed, with the caveat that students exercise due respect for others' space, dietary and allergy considerations. Students must clean up after themselves and keep their laptop in the condition it was provided.
Use of the facility
Show respect for the facility which Lincoln HS has generously provided us. Do not touch any technology in the space without permission or roughhouse. Damage due to neglect will be paid for by the student.
Bathrooms are accessible to the class and students may use them without asking. A brief mention should be made to the instructor when departing so students' whereabouts are known.
Classroom culture
All participants must work to ensure that everyone in class feels safe, comfortable and welcome. This class encourages freedom of expression and creativity, but sometimes in that process, misunderstandings can happen and feelings can be hurt. The class community will work together to resolve issues should they arise and strive to be respectful and inclusive in their actions, words and creations.
Guidelines for success
-
Be present. Being present is the single factor that most determines success. A large amount of content will be covered in each class. Missing even one or two sessions or arriving consistently late will seriously impact your outcome, and are behavior patterns that are grounds for termination in the professional world you're preparing to enter. If you have any concerns about attendance, bring them to the instructor's attention today and we'll discuss strategies to manage the situation.
-
Focus is the key to learning stuff, whatever it may be. We all struggle with constant distractions from games, texting, Snapchat, etc. These things seem fun in the short run, but in the long run, the folks who get great at something make time to focus on the activities they truly want to define their lives.
Getting into and maintaining flow is an integral part of learning. My goal is to identify and eliminate obstacles between students and their flow state. Let me know how I can help you!
To overcome the anxieties and depressions of contemporary life, individuals must become independent of the social environment to the degree that they no longer respond exclusively in terms of its rewards and punishments. To achieve such autonomy, a person has to learn to provide rewards to herself. She has to develop the ability to find enjoyment and purpose regardless of external circumstances.
Phones and software products compete for control over your focus and time, and have developed clever ways of doing so. This video, from Google's Design Ethicist, might offer interesting insight. I'm not saying technology is bad, but it's important to understand your relationship to it, assess to what extent it's moving you towards your life goals and adjust your habits accordingly.
-
Don't worry if you get confused, frustrated, or stuck on a problem. These are completely normal parts of the learning process; embracing these situations is what learning is all about.
When I work with primary school students, they tend to leap into coding. They don't mind if they make mistakes along the way. Older students, in contrast, are often worried about failing and may disengage. Approaching experiences with an eager, open attitude and without preconceptions is called shoshin in Zen Buddhism, and it may be a helpful concept throughout your learning journey.
In the beginner's mind there are many possibilities, but in the expert's there are few.
-
Type in all of the code examples by hand instead of copying and pasting. This helps comprehension enormously--your brain will build new connections through what your fingers are doing.
-
Help your friends; teaching and collaborating are great ways to solidify your own knowledge while sharing it with others. Be supportive, encouraging, and contribute to the class community.
-
Ask questions, especially when stuck. By asking questions, one is taking agency over learning, engaging in curiosity, and building growth mindset. Some students are afraid of asking questions for a variety of reasons. If you don't ask questions, it's worth asking yourself why!
-
Most importantly: Have fun!