During these first few weeks you will be receiving a large amount of assignments including warmups, exercises, and projects. It can feel quite overwhelming and may likely induce some anxiety and stress in some of you. That is when doubts may start to bubble to the surface about whether you are even cut out for learning how to code, maybe this was a mistake, some of you might think. But let me reassure anyone who may feel this way that this is completely normal, we have seen dozens of students pass through this class and who felt the same way and went on to excel in the class and graduate on time and go on to get a job after the class. Below is a list of some ideas that may be useful during this time to make the most of all your time and where to prioritize everything.

Hierarchy of Assignment Importance

  1. Projects
    • All must be completed to graduate
  2. Exercises
    • Practice, practice practice
    • Don’t do these and you likely won’t understand how to do the projects
  3. Warmups
    • Meant for practicing and reviewing recently learned topics
    • Help with nerves of problem solving/thinking in front of a group
    • Help with problem solving
    • Do not spend too much time on these once the class has moved on
  4. Other
    • Daily Teaching
      • Gives the opportunity to reinforce material learned previously in class
      • Helps give practice explaining coding concepts to a group
      • Implements the Feynman Technique
    • Edabit/Codefights
      • An opportunity to practice implementing difficult concepts into working code
    • Helping other students
      • Implements the Feynman Technique
      • Gives person helping a better understanding of the code they are teaching

My personal recommendation when dealing with a massive workload of assignments would be to address the above Hierarchy and then figure out what you need to get done first. But don’t feel like you have to completely finish something before you start working on something else. For example, projects are the most important to get done, but they are also given a large block of time to finish each of them.

Rather than just working all day on a project, you could allocate a specific amount of time each day to work on each project and then spend additional time:

  • finishing up exercises
  • preparing your Daily Teaching Lesson
  • doing some challenges on edabit
  • helping other students (this is a good idea, even if you feel behind on your own stuff).

Another crucial aspect of learning and managing a heavy workload is, believe it or not, TAKING BREAKS.
https://www.onlineschools.org/science-of-study-breaks/

If you have been working non stop for 1-2hrs then just stop and relax, find a place to nap, or go play foosball or something you enjoy, go for a walk or do something for 10-20 min and then you can jump back into things.

Next, If you have trouble understanding a concept from a lecture and you just feel stuck, try one of the following:

  • Repeat the example done in class from memory, say out loud to yourself (or in your head) the logic of what is going on while you type it out. Repeat until you can write it entirely from memory
  • If you are struggling with a concept ( like loops, for example), spend 20-30 min writing For Loops from memory until their syntax is memorized. If you get stuck, refer to your notes or previous assignments. Again, repeat until you can comfortably write them from memory.

These methods will help you to work faster when workloads start to get heavy, set 20-30 minutes aside each day to memorize the syntax of new concepts, this may feel like a waste of time, but it will become the building blocks of your understanding and ultimately save you lots of time.

Finally, when you are working on projects and exercises, it can be tempting to go above and beyond with everything to make it just ‘perfect’. Avoid this trap and rather make sure you are first getting each project and exercise up to the MVP(minimum viable product) or in other words do the minimum work necessary to meet the requirements, then if you still have time, or if you have more time later on, you can go spiffy it up and make it look much better and more presentable.

Takeaways:

  • Prioritize your Assignments based on the Hierarchy above
  • Don’t spend all of your time working on the same project/assignment, mix things up
  • Take breaks
  • Take 20-30 min a day memorizing and repeating over difficult concepts/syntax
  • Just get everything to the MVP, then go back and make it better when there is time