JS Evening

Expectations

version 1.1

Course Description

This fast-paced 17-week evening course offers a solid foundation in Javascript programming and a sample of experience developing every layer of a web application.

Not a contract

For definitive contractual agreements, see the "Portland Code School Student Enrollment Agreement" that you signed. Nothing in this syllabus is intended to supersede or replace terms agreed to in that document. Where a conflict exists, that document will apply.

Meeting hours:

Monday & Wednesday evenings (6:00 PM - 9:00 PM) and one Saturday each month (9:00 AM - 4:00 PM).

Location:

PCS Classroom, 735 SW 20th Place, Suite 230

Instructors:

Dan Bauer - Email: dbauer@portlandcodeschool.com - Office Hours: Sundays 3:00 - 6:00PM, or as needed.

Prerequisites

Before starting this course, you should be:

You don't need prior programming experience, but it helps. This course is oriented to beginning programmers, but the less experience you come in with, the more time you'll need to commit to keep up. It's possible to succeed with either limited availability or limited experience, but not both.

Learning Objectives and Core Outcomes

Code Elements

Workflow Practices

Problem Solving Skills

Communication Skills

Career Skills

Educational Expectations

Time Commitment

In addition to the 7-8 (averaged) hours of class time each week, you should expect to spend at least 20 hours/week outside of class in a combination of self-study and peer collaboration.

Using your time effectively

There is a wide gulf between passively absorbing information, even actual code, and actively generating it. Generation, of both code and intermediate products, is far more difficult and more important.

Up to 20% of your time could reasonably be spent in a largely passive mode, absorbing information: reading about Javascript and related tools, watching tutorials, listening to someone else's explanations.

But least 80% of your time should be in production mode, in active generation of intellectual work. This could include:

As a general rule, within every hour of work you should generate some kind of physical or digital trail: a few lines of code, a diagram, a list of vocabulary, some written sentences describing what you've learned.

If you're not regularly generating artifacts, and relentlessly exposing confusion by making errors, you're fooling yourself about how much you understand.

Homework

Weekly homework assignments are the backbone of this course; they will help you structure your efforts and ensure practice of the most important skills. The homework problems will often be difficult; they are meant to exercise you until it hurts. We don't expect you to solve them all, but make your best effort; your growth will be proportional to the number of problems you wrestle with.

Exploration

Although the homework problems are important and demanding, don't become fixated on solving them to the exclusion of making discoveries. Some of your time each week should be spent in active play:

In short, explore: push all the buttons, turn all the knobs, take everything apart and poke the pieces, and put them back together in ridiculous ways.

Tracking your time

You should create a free account with Harvest or another time-tracking service and log all of the hours you spend related to the class. Try to describe your activity in sufficient detail that, when you review your log after a week or month, you can draw useful lessons about your time-management.

Assessment Methods

You will not receive a grade. Your trophy will be the skills you build, and it's your responsibility to keep focused on that goal. But an inevitable secondary product is the impression you leave on your instructors and peers.

At the end of each term, employers ask us for recommendations -- the names of particularly talented and hard-working students. We want you to do well, and want to recommend you. And we have greater confidence in making endorsements when a trail of evidence of your participation supports our subjective impression.

All of these sources contribute to our evaluation of your progress and readiness:

  1. Homework: The code and work products you submit will be evaluated by at least two people: you yourself and at least one TA or instructor. Each problem section will receive a score from 0-4, following a rubric which will be shared openly and re-negotiated as needed. The weekly details of your scores will have little significance, except for two worrisome patterns:

    • consistent differences (in either direction) between your self-evaluations and your mentor's evaluation are a sign that you don't recognize what constitutes code quality;
    • low scores (0 or 1) are a sign that either you're not managing your time or you're not connecting with others to get yourself unstuck.
  2. Weekly Invoices: Life is busy, and you can have some distracted weeks, but if you have consistently low hours per week (or consistently fail to submit data!), your confusions will be met with less sympathy. And if your reported time spent is higher than your apparent progress, we'll wonder how efficiently your using your time.

  3. Midterm Conferences: In Week 9 or 10 you'll need to schedule a time for a 30 minute conversation with your instructor about your progress and concerns. It will not be a technical interview, but you will be expected to offer a realistic and candid summary of your progress and proposals to redress any trends of failure.

  4. Participation in Class and Office Hours: The ability to formulate questions even in the fog of confusion is a critical skill. No one is counting the number of questions you ask in class or scoring your success on in-class exercises, but a pattern of passivity will raise concerns and stunt your growth.

  5. Practice talks, whiteboarding, and mock interviews: In later weeks especially, these activites can be a chance to show some skill which other measures have missed.

  6. Capstone Groups: Starting in week 12, your instructor will organize you (with your input) into groups of 3-4 for your Capstone projects. Most of your activity in weeks 12-16 will be with your group, and you will succeed or flail together. Each week, your group will have a "stand-up" meeting with the instructor to report on your progress, obstacles, and individual roles. In this phase, teamwork is as important as individual skill, and people who might have been struggling in isolation will be re-evaluated in regard to their collaborative skills.

  7. Capstone Presentations: The last evening of the class will be a public open-house in which Capstone groups show off their work to visitors including potential employers. That event is a chance to impress peers and future colleagues without regard to any bumps in the road beforehand.

Mutual Respect

This class depends upon an atmosphere of mutual respect among students and staff. Together, we create a safe place to listen, learn, speak candidly, and fail safely. This is not a typical college class, it's a team effort producing a final product: jobs for everyone. You have the opportunity to make deep connections here that you will enjoy the rest of your career.

Students are expected to act at their highest capacity and with mutual respect for each other regardless of age, race, gender identity and expression, sexual orientation, or prior experience. Instructors are expected to lead in this regard by example.

In a related vein, this class requires work in close proximity to others as we code and debug in pairs and small groups. Good hygiene is mandatory and an additional sign of respect for your colleagues.

Grievances Procedure

Students who observe or experience any behavior on the part of instructors, staff, or students at Portland Code School that does not meet the school's Code of Conduct should take action. If you experience or perceive a problem, attempt to work it out on your own, if possible, but do not hesitate to bring it privately to the attention of your instructor. If this is unsatisfactory, bring it to the attention of the school Director (Cris Kelly) or Director of Curriculum (Al Zimmerman).

Curriculum Overview

General Schedule

Calendar

This term's calendar of topics and assignments (subject to minor revision) is here.