Skip to content

Latest commit

 

History

History
81 lines (61 loc) · 5.57 KB

Syllabus.md

File metadata and controls

81 lines (61 loc) · 5.57 KB

Syllabus

Overview

Description

Olin.js is a student-led and -developed project-oriented approach to learning modern web application development. With server and client technology advancing so rapidly, the modern website looks very different from that of even a few years ago, and the web will only become a bigger part of our lives in the near future. Olin.js quickly familiarizes students with Node.js as a web server framework and ES5 JavaScript as a responsive client-side language with four weeks of introductory instruction and three weeks of partner labs. Along the way, students learn the basic layout of the web; how to deploy and maintain large applications; important development strategies, skills, and technologies; and how to design and manage complex, multi-developer software projects. Students spend the last six weeks of the course putting their knowledge and skills to the test by designing and developing their own web applications.

Teaching Team

Your teachers are Bill Wong and Cynthia Chen, with NINJAs Austin Greene, Brenna Manning and Zoher Ghadyali.

Office Hours:

  • Zoher + Austin: 7-9 Mon
  • Brenna: 7-9 Wed
  • Zoher: 7-9 Thurs
  • Austin: 6-8 Thurs
  • Brenna: 2-4 Sun

Course Learning Goals

Students will improve their abilities to

  1. Understand modern internet and web applications.
  2. Learn software design skills and strategies, such as Javascript, Node and database technologies, that are relevant to web infrastructure
  3. Find connections between current coursework with future professional applications
  4. Learn software industry-related processes with a focuses on things, such as working on a team and communication of code and software projects
  5. Balance scope and design decisions to complete a viable web application

Course Approach

In the course, we focus on understanding the fundamentals of Javascript, Node and database technologies, with an emphasis on industry software-related processes. Every student in the course has varying levels of experience in coding, and we hope to facilitate learning, as well as create a community of software engineers, learning and helping each other.

Credits

Course is a 4 credit Independent Study (IS) in engineering. Note that it does not fulfill your OSS requirement.

Preliminary Schedule

Here is a spreadsheet of our working schedule.

Course Expectations

We expect that you arrive on time to class every day, letting us know before class if you can’t make it or will be late. Don’t hesitate in asking us with questions, feedback or concerns, both as students and as designers of the course. Our goal is for you to learn and apply the knowledge in the course, and we will always be accepting of feedback to improve how the material is taught.

Late Policy

Homework assignments are due at the beginning of class. If you are having trouble with an assignment or have extenuating circumstances and will be unable to complete it, please send the teaching team an email before midnight and we will be happy to help you and/or grant you an extension. If you do not have an extension, late work will reduced by one letter grade for every day it is late.

Honor Code

You will be expected to follow the Honor Code while doing work for this class. If you copy some of your code from StackOverflow or another source, leave a comment in your code linking to the original source. Alongside this code, leave comments that make it clear you understand what you copied. This can be done with either a paragraph or inline comments, whichever you prefer. You are welcome to discuss homeworks with other students, but make sure the code you submit is your own code.

Course Structure

The semester will begin with a series of lessons and homeworks that will guide you through the knowledge learned. We will then transition into two sets of labs, and then a final project at the end of the semester.

Grade Breakdowns

If you want to know your current grade in the class, ask us and we’ll let you know.

  • Homeworks (50*8 = 400 points)
  • Lab 1 (200 points)
  • Lab 2 (250 points)
  • Final Project (600 points)

This will be the rubric we will be using for your homework assignments:

Homework Rubric (50 points total):

Functionality: 30 points

Completion: 20 points
  • 20 - You implemented all of the required features in the assignment. The assignment is complete
  • 15 - All major features were implemented. You didn't get to one or two small features.
  • 10 - Some of the required features were implemented.
  • 5 - An attempt was made to implement some of the of the desired features.
  • 0 - Very few or none of the desired features were implemented.
Bug free: 10 points
  • 10 - The app is bug free
  • 5 - Your app has one or two bugs, occasionally causing unexpected behavior
  • 0 - Your app has multiple bugs, frequently causing unexpected behavior.

Quality: 20 points

Good coding practices: 10 pts
  • 10 - Follow good naming conventions, use triple equals, use indents and whitespace where appropriate, know when to use global or local variables, etc.
  • 5 - Some of the above practices were broken, but you mostly followed good practices.
  • 0 - Good coding practices were consistently broken.
Readability: 10 pts
  • 10 - Functions and variables are named well. Code is well commented where appropriate. Confusing lines are commented. Lines are not too long.
  • 5 - Code is occasionally confusing. Could use more comments. Some variables are poorly named.
  • 0 - Code is difficult to read. Other developers would not be able to use your code.