Simplifying The Teaching of Computer Programming
Simplifying The Teaching of Computer Programming
Computer Programming
19 March 2024
09:54
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.
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.
17 March 2024
03:34
Task:
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)
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
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.
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
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.
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.
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.