Tech Topic Connection
Welcome again to my blog!
Today, I am reflecting on how programming languages intersect with fundamental IT concepts. Learning programming languages can be complex for a new student, as with any new human language. The terminology and syntax of programming languages are different from human languages. Due to this difference, learners can get discouraged when they need help understanding the underlying fundamental principles of programming. Traditionally, programming instruction, also known as Educational Programming Language (EPL), consisted of classroom learning where the terminology and syntax are taught through teaching the rules or instructions of the program. However, since computer operation is not instinctual and does not follow organic thinking patterns, this resulted in many students giving up and dropping out of the courses. To combat and correct this, some learning institutions experimented with different strategies to try and overcome this. Some of these strategies include:
·
Adding programming languages to the courses to
be taught in grade school since research has shown that developing brains learn
best and
·
Using coding games to teach fundamental and
advanced tenets of programming.
Scratch
Scratch is a coding language developed
by MIT that uses blocks in a game setting to teach programming visually.
Putting different blocks together helps to create animations and games that
draw in the user's attention. According to the scratch site, this game is
designed for youth ages 8-16. However, having personally used this program, I
find the simplicity engaging and encourages the user to keep going and figure
out how to create more game scenarios.
CodeCombat
CodeCombat is an open-source program
developed to make learning Python, JavaScript, and C++ easier. According to
their website, learning coding through gaming is equivalent to "having a
conversation instead of reading a manual" (CodeCombat, About, n.d., para
2). While it seems tailored for classroom learning, a quick internet search
shows that adult learners have gained essential skills and understanding from
playing the games.
In a recent study, Kroustalli noted some
definite, although inconclusive, evidence of improvement in the student's
knowledge of programming concepts, especially variables, and loops.
Kroustalli argues that serious games motivate and engage students, whereas
traditional learning does not (Kroustalli, 2021).
Application Software:
Python and C++ are general-purpose
languages that can be used to develop application software, including mobile
applications.
Database and Database
Management
SQL (structured Query Language) is the
most commonly used program for databases because of its ability to extract and
analyze data. Python, the most commonly used program for all programming and
easiest to learn, is also used for databases and database management. However,
SQL is considered superior due to its analysis capabilities.
Network Architecture,
Management, and Security
Once again, Python is widely used due to
its simplicity. Java and C++ are also optimal for network architecture and
security because of their complexity, allowing them to be ideal for developing
secure software.
One thing I have come to understand
regarding network security is that it is only as effective as the people who
use it. The end-users must remain cognizant that the security system can only
capture some, not all, threats. With this knowledge, it is paramount that they do
not divulge sensitive information like passwords or click on email links and
attachments they are unsure of.
Conclusion:
This course taught me that Python is an
excellent general-purpose language for applications, databases, and their
management, network architecture, and security. Also, because it is often
touted as the most straightforward programming language, once a user masters
Python, it is easier to learn and understand other programming languages.
Programs like SQL, C++, and Javascript
can be used for applications but are considered excellent for specific purposes
like data analysis, creating interactive web applications, and network
security.
I'm eager to hear your thoughts! Do you have any programming experience? How did you like the process of learning?
REFERENCES:
CodeCombat (n.d.) https://codecombat.com/about
Kroustalli, C., & Xinogalos, S.
(2021). Studying the effects of teaching programming to lower secondary school
students with a serious game: a case study with Python and CodeCombat. Education
& Information Technologies, 26(5), 6069–6095. https://doi.org/10.1007/s10639-021-10596-y
Prasad, A., Chaudhary, K., & Sharma,
B. (2022). Programming skills: Visualization, interaction, home language and
problem solving. Education and Information Technologies, 27(3),
3197. https://doi.org/10.1007/s10639-021-10692-z
Yoon, I., Kim, J., & Lee, W. (2016).
The analysis and application of an educational programming language (RUR-PLE)
for a pre-introductory computer science course. Cluster Computing, 19(1),
529–546. https://doi.org/10.1007/s10586-016-0540-6



Comments
Post a Comment