Hello!! ʕ•́ᴥ•̀ʔっ
Hello!
There are different reasons why each of you decided to take CS1. Whatever the reason, I’m really happy you’re here! I’d love to hear about who you are, what brought you here, your interests, and what you care about.
My hopes for this class are that we each uncover and leverage diverse tastes and interests to make personally meaningful, expressive, projects with real audiences; projects we're proud of and want to share with the world.
In this course, we’ll primarily be programming with
Javascript. In addition to programming, we’ll also be developing all kinds of skills around translating our interests into projects that are functional, meaningful, and somewhat magical.
💡 What we'll be doing and learning
🗓️ Project Management Skills (Every Assignment)
- Translating your interests into concrete project ideas
- Specifying and designing a programming project
- Breaking the project into discrete parts and planning when you'll finish each part
- Breaking each part into even smaller programmable code-sketches
💻 Skills Related to Web Development & Programming
- *A.1*: Create, format, and style elements on a webpage in a way that you find beautiful and that work on a computer (and a smartphone)
- *A.1*: Using mock ups to brainstorm and design flow of programming projects
- *A.1*: Use your terminal and github to publish a website*
- *A.2*: Using event listeners to make interactive elements on webpages
- *A.2*: Using variables and
- functions, to increase interactivity
- *A.2.*: Epistemological Pluralism + top down vs. bottom up ideas about programming
- *A.2*: Understanding mental models of code
- *A.2*:
Debugging problems in your code by using your console, google, and other resources (e.g.w3, css tricks, mdn, etc., pair programming, and talking through problems with each other.
-
- A.2. Functions in functions — running functions many times in setInterval()
- *A.3*
- Making "randomizers" using Math.random() and arrays,
- *A.3* Making "choosers," slot machines, and more using usingif else statements,
- *A.4.* Making many of a thing using for loops
Expectations
- Collaboration
There's really no competition in and no scarcity of good grades in this class. If you make a good project, you'll have it on your personal website forever and I want each person to make things they care about! Thus, you are expected to help each other a lot! Don't think of collaborating as cheating. It's important that we support each other because we won't be able to get everything done without collaboration!
- Humility
Tech culture is infamous for know-it-all vibes. Let's do something better! There is no single right answer in programming. In fact, usually there are tons of "right answers" as long as the code works! For that reason and because we want a vibrant, inclusive, supportive vibe, no matter how techy you may feel, in this class you're expected to be kind, helpful, and use your knowledge to help yourself and others. Here we're not into showing off just to look smart! Don't make anyone feel less technical than you and if you don't feel or identify as techical, don't worry about it! It really isn't relevant — you can make great stuff in this class even if you've never used a computer before!
- Weekly Journaling and Publishing Your Website (Best Example I've ever seen)
In the journal sections of your personal websites each week, you'll document and capture what you've been working on and what progress you've made on your project. You can use photos of drawings or whatever else to make your thinking visible. Each weekly journal entry should include an explanation of:
- The process: how you made what you made. How did you come up with the idea? How did you test it or make a smaller version? What went wrong in the process? How did you debug? What resources did you use to help you?
- How do you think it works, in your own words: How did you write your code and why did you do it that way? What is your understanding of how this works?
- How you're feeling about what you made: What are you happy with, frustrated about, which dimensions do you understand or not understandetc
- What you want to do next: What are your next steps?
-
Working on your project at least 2-3 hrs/wk
If you're not spending at least 2-3 hours per week programming or working on your project, then your project is probably not going to be as good as it can be!
- Small Group Weekly Labs
Each of you should be having a small group Lab every week and you must have your first Lab with me in the first few weeks of school!
- Ask for help!
If you can't figure something out within 30 minutes, you are expected to post a question to our class Slack chat
Our Work
quotes to think with
-->