GA Logo
Figure: GA Logo

WDI Singapore

Welcome to General Assembly's Web Development Immersive - Singapore Edition!
This Gitbook is the primary resource used throughout the course, save it to your favorites and refer to it often!

Important Policies

Please read and adhere to the following, otherwise bad things might happen.


You should have completed the following in preparation for the course. This is to ensure that you can handle the pace of the class.


Our attendance policy for graduation is no more than 4 absences during the
course. 15 minutes late = 1 tardy. 3 tardies = 1 absence.

If you know you'll be late or absent, please let us know and we'll arrange
to have your tardy or absence excused.

Homework and Projects

Homework: 80% of the homework needs to be submitted for completion. Please submit your homework here before 9am the next day (Bookmark this link on your browser!)

Projects: We would like everyone to complete their project as it will significantly affect your chances for graduation if you fail to do so. A Minimum Viable Product (MVP) is a must.

Classroom Culture

We run our Classrooms like companies and as such we place a large emphasis on creating an environment and culture that maximize what you learn.

Some Proposed Rules

We expect that you agree with the following. If you do not, then raise it in class on day 1, culture cannot be created top down.

  1. We encourage questions. We do not consider any question to be stupid, it is better to ask than never to know.
  2. We focus on what is happening in class. We avoid distractions during lectures (social media, gossip, work etc) as this will cause us to fall behind and drag others with us.
  3. We like a clean work environment. So we avoid smelly food in a classroom and clean up after ourselves at breaks and the end of the day. We also keep our facilities like toilets and communal spaces clean.
  4. We seek to know each other. We have a lot to learn from our peers, and they will understand better than anyone else what we're going through. Grab lunch/kopi/beer together, change seats often, chat on Slack, be friendly and be genuine.
  5. Have Fun Have the best 3 months of your life :)


We're going to learn about Agile development in the course but it's never to early to start implementing best practices. One such practice we follow is called Scrum or Stand-Ups, it's a quick fire meeting format that we conduct in the mornings.

Every morning at exactly 9.00 (so be here before then), we'll cluster together into three small groups - scrums work best with small numbers of people. A member of the instructional team will chair each group. Each person in a group will have exactly 2 minutes to tell the group:

  1. what they achieved yesterday after class
  2. anything they found particularly challenging
  3. and anything useful they discovered which might help others

The point of our scrums, is not to discuss these issues but to simply flag them and create prompts for conversations later during the labs and breaks.

Pair Programming

We encourage pair programming during labs, it's a great way to learn from each other and generally makes tough tasks less daunting. You pair up (ideally with someone you haven't worked with in a while) and on one machine, you take it in turns to write code. The navigator (the person not coding) is then able to focus more on thinking about the problem rather than the code. Swapping roles every 20 minutes is a great addition to this.


During project week, each student will have a 1-on-1 session with a member of the instructional team. This is intended for you to reflect on and discuss your overall progress.

CACTI Problem Solving

We're going to speed through a lot of materials, there's lots of you, a couple of TAs and only one instuctor. So follow the CACTI approach to solving your problems.

  1. Check the materials, yours and online.
  2. Ask a peer during breakout or in Labs, NOT during lecture
  3. share with the Class on Slack
  4. consult a Teaching assistant
  5. request a 1-on-1 with the Instructor


This is optional but recommended. You should keep a Journal! It can be anything: a blog, a Medium series, a Word doc or literally a physical journal. The point is that at the end of each day you should take 15 minutes to write down a reflection on what you've learnt today. What you enjoyed? What you found difficult? And anything else you'd like to put on paper. Later down the course this will be a great tool to help you realize just how far you've progressed and boost your confidence to keep going.


  1. All content is licensed under a CC-BY-NC-SA 4.0 license.
  2. All software code is licensed under GNU GPLv3. For commercial use or alternative licensing, please contact

results matching ""

    No results matching ""