Students will be able to...
- Complete small coding tasks (Hour of Code).
- Explain why computer programs are written in specialized languages.
- 0.3 slide deck
- Unit 0 tips
- Work through at least one of the coding activities on your own so you are familiar with the activities and can provide assistance as needed:
- https://www.youtube.com/watch?v=6qF3HmRzg8o
- Video quiz: See Additional Curriculum Materials accessed from the TEALS Dashboard.
Duration | Description |
---|---|
5 minutes | Welcome, attendance, bell work, announcements |
5 minutes | Introductory discussion |
35 minutes | Coding activities |
10 minutes | Debrief and wrap-up |
Introduce students to the concept of a Computer program: a sequence of instructions or steps, written in a language that can be understood by a computer, that will be used by the computer to complete a task or solve a problem.
- Ask for any programming languages students are familiar with (even just names).
- Draw distinctions between proper programming languages and other types of languages (such as markup languages e.g. HTML).
Lead the group to develop expectations about what aspects of programming might be most challenging and what skills might be most useful to be successful.
What are the steps required to write a computer program?
- This is essentially developing an algorithm for writing a program.
What knowledge might make writing a program easier? What might you need to do when writing a computer program that you have never or rarely done before? What parts of programming are most intimidating or scary? What are you good at that might help you be a better programmer?
Students should work through one of the Hour of Code activities of your choice.
- Choose one activity as the requirement, and leave another for those who finish quickly.
- Allow students to struggle with the activities if needed, stressing the importance of patience and persistence in programming.
- Have students submit the certificate of completion of their hour of code to the instructor.
- Remote Guidance: The certificates can be submitted digitally upon completion.
Guide students in a discussion about the activities. Some sample guiding questions:
- What was most challenging?
- Put special emphasis on the iterative nature of programming, and the need to occasionally throw out a partial solution and start over.
- What was different about solving these problems than solving other problems encountered in school?
- Why can instructions not be given in simple English? Why must we be limited to certain operations from which we must build up solutions?
- If students seem interested, this can be an opportunity for a brief conversation about the difference between high-level programming languages and machine languages (assembly code).
If students appear to be frustrated enough to not be enjoying the activity, provide a step in the right direction and remind them that programmers rarely create a correct program on the first try.
BJC Lecture 5: Programming Paradigms
- Dilemma of Being a Cyborg 0:00-2:30
- Programming Paradigms 2:30-3:50
- Snap! BYOB (Hybrid) 3:55-4:45
- Functional Programming (Cascading Values) 4:50-5:35
- Imperative/Sequential 5:41-8:35
- Object Oriented Programming (OOP Basic Explanation) 8:40-15:45
OOP Ex: Sketch Pad Dr. Ivan Sutherland "Father of Computer Graphics" 15:45-22:10
- OOP in BYOB (Demo of Functions in BYOB) 22:35-29:20
- Declarative Programming 29-22-31:20
- Declarative Programming Examples in BYOB 31:25-35:20
- Review of Paradigms 35:25-end