0% found this document useful (0 votes)
18 views

Simplifying The Teaching of Computer Programming

The document proposes a new model called "Project Lovelace" for teaching computer programming at the high school level. Project Lovelace would use a project-based learning environment with students grouped into teams. It would aim to inspire students and boost interest in programming by naming the project after Ada Lovelace and focusing on solving real-world problems. The model involves administering aptitude tests to assess students' skills and appropriately group them into teams to complete programming projects.

Uploaded by

jokoga7495
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Simplifying The Teaching of Computer Programming

The document proposes a new model called "Project Lovelace" for teaching computer programming at the high school level. Project Lovelace would use a project-based learning environment with students grouped into teams. It would aim to inspire students and boost interest in programming by naming the project after Ada Lovelace and focusing on solving real-world problems. The model involves administering aptitude tests to assess students' skills and appropriately group them into teams to complete programming projects.

Uploaded by

jokoga7495
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Introduction

Computer Programming
19 March 2024
09:54

Making way into our high schools:

 Growing Importance: The digital world is all around us, and


understanding how it works is becoming a valuable skill.
Programming teaches students problem-solving, logic, and
critical thinking, applicable to many fields

 Preparing for the Future: Jobs requiring programming skills are on the rise.
Equipping students with these skills prepares them for future careers in tech
and beyond, as programming knowledge can be a valuable asset in various
fields.
 Beyond Coding: Computer programming isn't just about writing code. It
teaches computational thinking, a way of breaking down problems into logical
steps, a valuable skill in many aspects of life.

Existing Models of Teaching


 Hardware-First: This model starts by introducing the basic building blocks
of computers and how they work. This can be a good entry point for students
interested in understanding the "under the hood" workings before diving into
programming languages

 Functional-First: This model introduces programming through functional


languages like Lisp or Haskell. These languages focus on solving problems by
defining functions that transform data.

 Programming in Seven Steps (PSS): This model outlines a structured


approach with seven steps: problem definition, planning, coding, testing,
debugging, efficiency analysis, and documentation.

Problems
 Can be overly technical for students who are primarily interested in
learning to program, not the inner workings of computers. It might
delay the gratification of actually writing code

 Functional languages can have a steeper learning curve for beginners due to their
different syntax and approach compared to more common imperative languages.
 Can be rigid and limit creativity by imposing a specific structure; may not be suitable
for all learning styles or project types.
The Need for a new model:
 Addressing Shortcomings: Existing models each have their strengths and
weaknesses. A new model could strive to combine the best aspects of various
approaches, like the logic focus of Algorithm-First with the engaging elements of
gamification.

 Personalized Learning: .Involve adaptive learning platforms that adjust the


difficulty and content based on student performance or offer alternative learning paths
for different needs.

 Focus on Creativity and Problem-Solving: While existing models teach core


programming concepts, a new model might place a stronger emphasis on applying
those concepts to solve real-world problems creatively. This could involve project-
based learning with open-ended challenges that encourage experimentation and
innovation.

17 March 2024
03:34

Task:

Develop a novel model that will be used to simplify the teaching of


Computer programming at the Senior High School level.

Analysis the task:


Developing a model that's
 Novel (new)
 Simple enough to teach in High School

Why the need for novelty?


What can we learn from Previous models?
Is there a need to conjure new models from scratch

What does it mean to create a model that simplifies the teaching of


computer programming?
Does the model make the subject easier to teach or to learn?
Are there obstacles and/ or opportunities that could be explored

Identify Problems and Opportunities


16 March 2024
21:16

Problem Identification
1. Old methods of teaching computer programming
1. A theoretical teaching approach, not accompanied by
substantial amount of practice
2. Syntax memorization, instead of understanding the language
documentations
3. Using outdated programming syllabus and teaching tools
4. Dismal creative teaching methods especially when teaching
abstract concepts
5. Gamifying the programming approach using video games (learning
without substance)

2. Disinterest of students in the subject


 Implicit idea of what the subject actually entails
 Implicit idea of the usefulness of the subject
 Implicit idea on the opportunities Programming
offers
 Stereotypes on who is qualified to learn the subject

 Define Goals
16 March 2024
21:16
To prove that a proposed model is simple enough to teach:
 It should drive the interest of students
 It should be easy to understand
 It should be fun and engaging
 It should solve the flaws that come with old methods of teaching

 Student lack interest in the subject…


To resolve this:
 Seminars should be held to engage student in
 What programming entails
 The things you can build as a programmer
 What the programming community offers to the world
 The career paths you can venture as a programmer

 Reels of finished programming projects


 Video games
 Web apps
 AI modules
 Mobile apps

 Eschewing stereotypes of who is qualified to take on


programming
 It is speculated that programming is not a field for
females.
 It is speculated that programming is a mathematician’s
course and you need to be a super genius to take it on.
 It is speculated that the programming field is a highly
saturated industry and gaining skills might not
necessarily guarantee you a job.
 Approach of teaching programming
To resolve this:
 Make the subject take a more hands-on approach rather than
being theoretical
 Guide the students to understand the core principles of
programming ethics, instead of memorizing their way through
 Workshop tutors to update their programming knowledge (it's a
really dynamic field) - Everyone needs to stay updated.
 Use creative teaching methods like pictures, diagrams, etc.,
especially when teaching abstract concepts.
 Focus on project driven approach that engages the students to
understand how to use programming to solve real world
questions instead of letting them play with games that have no
concrete advantage.

Explore Possible Strategies


16 March 2024
21:16
Project Based Learning Environment in Grouping system
1st method: Project Lovelace

Named after the famous Mathematician Ada Lovelace who's ground breaking
work at the age of 18 helped Charles Babbage develop the "General Purpose
Computer" known as the Analytical Engine.
The purpose of this project is to:
o Inspire the high schooler to strive for big achievements at a young
age
o Learn to work with each other
o Inspire female students to eschew the notion that the topic of
programming is male oriented
All this in hopes of boosting interests in the subject
PROJECT LOVELACE; ASSUMING THERE IS A SAMPLE OF 20 STUDENTS WHO ARE TO BE
TAUGHT COMPUTER PROGRAMMING

STEP 1:
 Aptitude Test:
o CAT (Cognitive Ability Test) is conducted with various areas
to gather information on their
 General Cognitive Abilities
 Logical Reasoning
 Identifying patterns
 Eg:
You are given a series of numbers: 2, 5, 8, 11,
... What is the next number in th
sequence? (This tests pattern recognition)
 Analyzing information
 Drawing sound conclusions

 Quantitative Reasoning
 Ability to work with numbers
 Solve Problems using mathematical concepts
Eg:
If a train travels 100 miles in 2 hours,
what is its speed in miles per hour? (This
tests basic math skills)
 Interpret Data

 Verbal Reasoning
 Understanding written languages
 Identifying relationship between words
 Effectively using vocabulary
 Eg:
What is the synonym (word with similar
meaning) for the word "meticulous"? (This
tests vocabulary knowledge)

 Academic Skills:
 Reading comprehension
 Ability to understand and analyze different types of
written text

 English skills
 Assessing grammar
 Mechanics
 Writing proficiency

 Math skills
 Arithmetic
 Algebra
 Geometry
 Advanced mathematical concepts

 Career-Specific Skills:
 Technical skills
 Knowledge and ability to use specific software or tools
Eg:
What is the correct syntax to declare a
variable in Python? (This tests knowledge
of a specific programming language)

 Spatial Reasoning
 Ability to visualize and manipulate objects in 3D space
Eg:
You are given a 2D blueprint of a building.
Imagine the building in 3D. Which direction
does the front door face? (This tests the
ability to visualize 3D objects)

 Cleric skills
 Accuracy and speed in performing tasks like data entry or
proofreading.
Eg:
You are given a list of data with some
errors (e.g., typos, missing information).
Identify and correct the errors within a
specific time limit. (This tests accuracy
and speed)

By testing the students on such things and finding a way to grade it, you
have a fair idea of their strengths and weaknesses and you can use this to
group them in such a way that creates a very effective learning
environment for the students.

Given the sample above with 20 students. It can be inferred from the graph
that the average student got a mark of 61. The less capable students
ranged from 18-40 and the above average students from 75-100. Also,
there's an outlier with the mark of 5,which is the least mark recorded on
the test.

By carefully analyzing the performance of each student, 4 groups of 5


students each can be created, where each student's ability credits the
potential of the group.

THE JELLYFISH SYSTEM


 Students are divided into groups
 Each student's ability complements the groups potential
 A student from the extreme left is teamed up with a student from the
extreme right. This is repeated and climbed up the curve till only
average students can be paired up.
The Jellyfish system provides an environment for students to be their own
teachers and each other's helper.

Details of the Jellyfish system:


 A lot of project based assignments
 The projects are researched and done as a group
 To maximize individual participation and understanding, the
seemingly non-performant members of each group are the ones that are
selected to present and elaborate on the solution to a project.
 The highly intelligent student get to teach other group members and
solidify their understanding.
 The least equipped students go to their colleagues for help instead
of the teacher since they feel a lot more comfortable around their
peers.
 Every assignment is group based.
 The tutor always analyzes the group and sees who is pulling the
group up and who is pulling the group down.
 The system provides an avenue for competitive intra-group and inter-
group tasking.
 The teacher is doing less teaching and the students are doing more
practice work.
 Room for discussion and deep problem analysis.
THE SCORE CHASER SYSTEM
The score chaser system is a leaderboard system where students compete in
groups created using the Jellyfish system on series of projects.
The Score Chaser System is the sole contributor to the assessment of the
high schoolers so it's one to be taken with all seriousness.
There are four score chaser programs within a semester.
This is how it works:
o Each group provides a problem with solution to it to the teacher.
o The teacher evaluates the problem and sees it fits into the syllabus
that has been taught so far.
o The competition is done held off in groups of two.
o First group presents they're problem to the second and the second,
the first.
o If one group solves a problem and the other isn't able to solve
theirs, the group wins.
o If both groups solve the problem, they both emerge as winners.
o If both groups fail to solve the problem, they both proceed as
losers.
o This match off continues for each group.
 For example, for four groups, say group 1 and group 2 will
match off and group 3 and group 4 will do same. If group 1 and
group 4 emerge as winners of their matches, they proceed and
then face off each other.
o The winning group gets perfect score
o The score of the rest depend on how many groups and how the
assessment is striked.
Anticipate and Act on Outcomes
16 March 2024
21:17

The subject is:


 Project based
 Competitive
 Interest driven
 Hands-on

What are some of the problems that could spring off when things like this
start taking shape?

Teaching obstacles
Student behavior
Time to do projects
Time to practice
Devices to do research needed at times that may not be convenient
Student progress

Suppose we want to test the aforementioned strategies by prototyping with


the initial student number of 20, then some challenges ought to be
anticipated and resolved.
Set-back case 1:
Suppose after 3 project assignment with the students undergoing "The
Lovelace Project"
 There appears to be one dominating team
o There is one highly intelligent member that is pulling the
group up
o There are more than one highly intelligent members grouped
together that has created an unfair advantage
o The group has figured out how to work seamlessly with each
other by focusing on everyone's individual strength
 This impedes the competitive spirits of the group
 It can let other's feel as though the stereotypes of
programming are true.
 It can let other's feel as though themselves or their
teammates are incompetent.

SOLUTION
The Reaper System
Suppose a team dominates on tasks for 3 projects straight, to
reduce or prevent the aforementioned problems, The Reaper
System is called onto the group.
This system is one such that, when I group tops on
assignments or projects for 3 consecutive times, all the
other groups are allowed to come up with the most
difficult problem they can come up with and challenge
the dominant team to solve. If they are unable to solve,
a decided amount of marks in reaped from the team so
that they become equal with the runner up team just so
the class can stay competitive. If they however manage
to solve the question, they decide which teach loses
which mark to make two teams have even marks.

 There appears to be one or more insulated teams


o One or more teams aren't showing any improvement under Project
Lovelace
o The problem could be a result of unfair teaming, or as a
result of someone (primarily the person in charge of the
group) not doing their job.
o They may not be offering to teach their team members when they
don’t understand somethings
o They may not be willing to help them prepare for presentations
and help them write and research solutions to coding problems.

SOLUTION
Code Therapy
 Isolate the team and let them explain their grievances and why they
aren't making any progress.
 Repurpose the team by temporarily dividing them onto other teams and
seeing how each individual functions on another team.
 Use the information you gather to infer where how to fix the
situation. Whether a regrouping should be done or whether they need
a shift of focus.
 Team members have constant disagreements and can't work in harmony
o Suppose two or more team members are in disagreement, Code
Therapy can't be used extensively since dividing only the two
onto other groups poses an unfair advantage to their actual
group.

SOLUTION
May-Day System
The teacher isolates the two/more people and fixes them into
groups of one. Then the teacher joins the main group he
separated the two or more people from as a team member for
the mean time. The individuals get to work alone and are
gradually paired overtime to see if there's any improvement
in they work as a team. Eventually, they're brought back to
their original team and the teacher is canceled as a team
member.

TIME TO DO PROJECTS
Project works are likely going to be done after school hours and this
creates a disadvantage if computer labs are closed by then.
 Arrangements could be made for there to be an evening lab session
for computer programming students
 The lab session can also be held for students to use to practice
their programming problems and to self-advance.

Looking Back and Learn


16 March 2024
21:17

This approach can only be implemented ones the model has been used.
It's features looking back on the effects of the strategy and iterating it
to suit your exact needs. Learning to work out the best solutions from
your outcomes and perfecting it to create a non-destructive learning
approach.

You might also like