How to succeed in this course

Everyone can succeed in this class

With consistent and intentional work, anyone can succeed in this class

Learning to be consistent and intentional is a skill that you will practice not only in this course, but in many aspects of your (academic) life

What do you need to succeed in this class?

A willingness to:

  • try and fail
  • get frustrated and bored
  • be curious about how things work

How is the structure of this class designed to help you succeed?

  • Active learning – you are expected to engage in the in-class activities (I want to hear from you, and what you are thinking)
  • Deep processing – I will elicit knowledge from you and help you make connections to new content
  • Small sequential steps – each week we build on top of the content of the previous week, make sure you are following along

How is the structure of this class designed to help you succeed?

  • Spaced repetition – this is not the type of course you can cram for 2 hours before the exam
  • Mastery checks – frequent assessment

LLMs (chatgpt etc.)

  • Amazing tools
  • I’ve seen students use them carelessly

LLMs

LLMs

Rule 1: Don’t use LLM to:

  • write code
  • plan code and problem-solve
  • debug code
  • test code
  • comment or format code

LLMs

What’s allowed:

  • Help you learn
  • Help with non-graded practice tasks
  • Help you connect to legitimate and useful resource
  • Maybe generating data for personal testing
  • Generating practice problems

For any tool (not just LLMs)

You need to know enough about coding to decide whether that tools fits in one of three category:

  • Hype
  • Help
  • Hindrance

Learning

  • Easy is different than Fun
  • Learning can be very repetitive and frustrating at times
  • To train your brain you need to try and fail

Skills you need to develop

At some point LLMs can help you with these, I’ll try to guide you when and where.

  • Specification
  • Verification
  • Problem decomposition
  • Code reading
  • Debugging