Digital Product Jam
This repository holds software development course materials for Digital Product
Jam - a joint course run by
Bezalel Academy of Art and Design and the
Hebrew University.
Description
We all engage with digital products in daily life: we work with them, we express
ourselves with them, communicate through them and discover information with
them.
Students in the course will work with "real world" clients to learn about their
audience and needs, and present them with solutions in the form of digital
products, which they will design, develop, and deploy.
Course Outline
General structure of the course will be:
- Learn web technologies
- Meet the "client" organizations
- Form teams
- Pitch and plan the product
- Build the product!
Course Goals
- Experience working in teams of designers and developers similar to "real" work
in the software industry
- Experience design, development and product management with "real" clients
while building working products for "social good" organizations
- Learn the application of web technologies towards the delivery and deployment
of a functional product
Discussion
Discussion Forum
We encourage you to ask questions and discuss technical issues with your
classmates and the course staff. You can do that on the
discussion forum for the course.
Office Hours
If you need help with any of the course materials, you can attend office hours.
Office hours are held before classs on wednesdays or online via Google Meet, by
emailing the course staff to schedule.
Assignments
The majority of the grading of the course is related to team work. However,
there are a number of assignments related to software development, where you are
graded individually. These assignments must be submitted in the following way:
- All code must be commited to your own code repository (which is either a
"copy" or a "fork" of an original codebase for the assignment), hosted on
GitHub
- The application must be deployed and accessible via a public URL (this will
happen automatically if Vercel is configured correctly for your application,
but you should also verify on a per-assignment basis)
- On completion, submit your task by adding a comment with the following
information to the open issue for the task
here:
- the URL to your GitHub repository
- the public URL of the working application
- All tasks must be submitted by end of day on the Tuesday before the class
(class is on Wednesday)
Individual assignments
- Setup for the course
- Personal website
- Web application
Grading criteria
For assignments and also for teamwork, we grade your programming contributions
based on the following criteria:
- Usability the product
- Review of the code (quality, abstractions, etc)
- Evidence of solutions based on learning materials
- Alignment with the design prototype
- Alignment with overall product goals
Resources
Setup & getting started
Slides
All slides from the lessons will be
available here.
Bootcamp
If you have no prior experience in HTML, CSS, or JavaScript, or, you want to
refresh your knowledge, then it is recommended you take the following free
courses at Codecademy, in the suggested order below.
- HTML & CSS | Code with Mosh
- JavaScript | Code with Mosh
- React | Code with Mosh
- Learn HTML on Codecademy
- Learn CSS on Codecademy
- Learn CSS: Flexbox and Grid on Codecademy
- Learn JavaScript on Codecademy
- Learn React on Codecademy
Videos
In previous years, some videos were made to help explain specific concepts or
integrations within the stater kit. The kit has changed somewhat from previous
years, but the videos may still be useful: