Education logo

Lesson Planning: Brain-based Lesson Plan

An example of a Brain-based lesson plan in Computer Programming-Computer Engineering Course

By Domingo Añasco-Gaces Samontina, Jr.Published 2 years ago 6 min read
1

Lesson Plan Information

Learning Area: Engineering (Computer)

2018-2019/ First Grading Period

Duration of the Lesson: 1 week

Period: June 18 - 22, 2018

Pre-service Teacher: Domingo Gaces Samontina, Jr.

TITLE

Rationale: Using a widely available language and resources, introduce students to the world of computer programming. The nature of a programming language shall be defined, as shall the difference between natural and formal languages. The various operations that make up the general structure of a computer program will be introduced as part of engendering an understanding of the algorithm as the basis for program flow. In addition, there will be a basic introduction to program errors, syntactic, semantic, and runtime.

CONTENT UNDERSTANDING

Content Standards: The learners demonstrate an understanding of key concepts in algorithm development with high-level language and programming applications.

Performance Standards: The learners will be able to model situations and solve problems accurately using algorithms developed with high-level language and programming applications.

Focus:

  • Critical Thinking
  • Problem Solving
  • Creative Thinking

Key Concepts: Computer Programming, C++, Languages, Program Erros, Syntactic, Semantic, and Runtime

Resources: Brains. Writing implements and paper for possible flow charts and modeling. Projector or computer for demonstrating examples.

References: Tynker Support Page: Hour of Code, BrainPOP.com, tesglobal.com, https://www.researchgate.net/post/How_can_you_integrate_two_programming_languages_in_one_enviroment

Essential Questions:

  1. How programming is used to create computer apps?
  2. How to create a simple computer app using more than 15 blocks?
  3. What is BrainPOP resources?

STRATEGIES FOR INQUIRY

Inquiry Stimulus: In 1997, a 15 Word Logo Challenge was announced, instructing coders to "Write a Logo one-liner using 15 or fewer words, not counting square brackets and parentheses, to produce the most beautiful, complex, and interesting picture."

Inquiry Questions:

  1. What are the basics of creating computer apps?
  2. How to use Tynkers block programming interface?
  3. How errors affect student’s confidence in making a program?
  4. What are the syntactic elements of the language instruction?
  5. How to work with pre-loaded characters, background, and movements?

GUIDED INTERACTION

Learning Support Pedagogies:

  • Problem-based Learning
  • Project-based Learning
  • Case-based Learning
  • Discovery Learning

Instructional Strategies:

  • Direct Instruction: Using BrainPOP, teach students the fundamentals of creating computer apps.
  • Indirect Instruction: Another idea is to have students pair up and think of their own programs. They can assign a specific program to their partner and challenge them to produce it.
  • Experential Learning: Allow students to explore the basics of programming through Tynker's Lost in Space interactive.
  • Independent Study: Students program a turtle named Snap to mimic geometric shapes and follow set patterns.
  • Interactive Instruction: Tell the students that they will now have the opportunity to compose a creative program using Tynker's 15 Blocks game.

Teaching-Learning Episodes

  1. Students can learn the fundamentals of creating computer apps by watching the BrainPOP Computer Programming Movie and using related resources such as the FYI and Quiz.
  2. Allow students to explore the basics of programming through Tynker's Lost in Space interactive. Talk with students about the strategies they use during game play and how those relate to what they learned in the movie.
  3. Tell the students they will now have the opportunity to compose a creative program using Tynker's 15 Blocks game. Provide 10–20 minutes for students to explore the game and challenge them to compose the most creative program they can using the blocks provided.
  4. Invite student volunteers to share their programs with the class, or have students gather in groups of 3–4 and share what they created. Encourage students to explain their thinking and how they chose their blocks.
  5. For an additional challenge, ask students to produce a specific program with the game. For example, you could have students program the lion to walk back and forth on the screen or make an alien turn around and float in space. You could also have students write a story about a super hero who follows the mouse to fly around, and then implement the story using code.
  6. Another idea is to have students pair up and think of their own programs. They can assign a specific program to their partner and challenge them to produce it.

Inquiry Questions:

SETTING THE KNOWLEDGE BASE

  1. What is the nature of programming languages?
  2. What is the difference between normal and formal languages?
  3. What are the pluses and minuses of the different language levels?
  4. What are the components that make up the average structure of an imperative program and how might they map to a real-world paradigm?

ANALYZING THE NEW KNOWLEDGE

  1. What operations make up the general structure of a computer program?
  2. How can you use the existing database technology to make database development efforts more productive and successful?
  3. How could we classify these errors that can occur in a computer program?

FOCUSING THE NEW KNOWLEDGE

  1. If this programmer could test your program, what might he say?
  2. Based on what you've found, how should these operations be introduced as part of engendering an understanding of the algorithm as the basis for program flow?

EVALUATING THE NEW KNOWLEDGE

  1. How can we determine the most appropriate database technology for Visual C++ applications?
  2. What language are you using to create an algorithm using a real-world paradigm (i.e., tying shoes, making a peanut butter sandwich)?

META-COGNITIVE DEVELOPMENT AND ASSESSMENT

Assessment Tools

Written Work (WW): Students will develop an algorithm for a mundane task that integrates the programming components described in the lecture portion via a flow chart. They will then deliver a short essay on what errors they believe their program may be vulnerable to and offer ideas for improvement.

Performance Task (PeTa):

  1. The students will develop a simple computer program model of their own choosing, demonstrating the minimal sets of elements that constitute a program in a similar fashion to that demonstrated in class.
  2. The student will be responsible for studying an instructor-provided vocabulary list and should be able to define all terms therein.

Quarterly Assessment (QA):

  • Learning Checkup: A short quiz will be delivered at the end of the lesson, and students will be queried for specific points on which they feel they lack understanding.

Meta-cognitive Extension:

  • What other program apps can be made by the Tynker system of visual programming blocks?

Cross-Disciplinary Applications:

Integrating two programming languages into one environment.

There are many situations where multiple languages are the best balance for an integrated software solution (see below). What is vital is to have a clear, automated build process to ensure that all language components are at the proper revision before bringing them all together. Without that, the project would have multiple iatrogenic failures.

A simple example: There is code that interfaces with a custom hardware device (e.g., a new kind of USB or a drawing tablet). The device driver should be written in a compiled language like C or C++. The user interface that controls the device could well be written in Java. This allows the project to be completed by two smaller teams, with independent specs, instead of a larger team requiring more knowledge (e.g., devices and UI experience).

Another situation where having different languages in the same solution might make a difference is when there is a substantial difference in component upgrade times, organization, or resources needed to upgrade said components. If an application's back-end is controlled by one organization in a company and the front end by another, and there's a clear API between the two, then a Java front end and a PHP back end, for example, would make sense. Another differentiation would be if a front end was updated using quick Agile sprints while the back-end was updated in a waterfall release model, there would be no incentive to keep both sides the same in terms of language.

A copy of a brain-based lesson plan in computer programming and computer engineering can be downloaded with the below link. You are free to modify it based on your preference.

Excel:

Like what you read?

Don't forget to please subscribe and like my story.

Thank you.

courses
1

About the Creator

Domingo Añasco-Gaces Samontina, Jr.

.Professional Member of the Mechatronics and Robotics Society of the Philippines

.Certified Documented Information Controller with TUV Rheinland Qualifications

.Master of Science in Engineering (on-going) with Professional Teacher Certificate

Reader insights

Be the first to share your insights about this piece.

How does it work?

Add your insights

Comments

There are no comments for this story

Be the first to respond and start the conversation.

Sign in to comment

    Find us on social media

    Miscellaneous links

    • Explore
    • Contact
    • Privacy Policy
    • Terms of Use
    • Support

    © 2024 Creatd, Inc. All Rights Reserved.