Teaching information technology part 2
In order to prepare for the jobs of the 21st century, all students must have some knowledge and skills in Information Technology. Elementary school students must know how to use a computer. High school students must know how to use a computer as a tool to work. In this “Technology-driven world” computer skills are essential to prepare them for most of the jobs. In this “Globalized world,” where everything is connected, and business is happening at the speed of the Internet, every country needs to have a technology workforce to stay competitive.
Many people believe that students could learn about computer science when they go to college. In my opinion, in this fast-changing technology-driven world, it is too late to wait until college time to learn these skills. Most of today’s students are already be exposed to information technology (Mobile phones, laptops, social media, video games, etc.), and many will work in jobs that involve the use of a computer. Therefore must learn to use a computer to solve problems during high school, just like they learn mathematics, physics, and chemistry as they are part of the current high school education.
I believe that every high school student must know at least one programming language such as Java, Python or C++. A programming language is the foundation of Information Technology. Learning this skill will help them to know more about logic, syntax, and semantics. Programming languages should be taught in corresponding with mathematics courses. (Linear Algebra, Discrete math, and Calculus, etc.). A computer program manipulates objects, so students must also learn data structures and how they can organize instructions for the computer to perform specific tasks. They should learn the concept of databases and cloud-computing storages. They should know how to access and manipulate data efficiently and safely. High school students should have a basic knowledge of algorithms and how they work in automation. The algorithm is the basis of innovation and emerging field such as Machine learning and Artificial Intelligence. Providing computer science training in high school is useful for all students, in any career. It does not mean they all will become programmers, or software engineers but this knowledge and skills are needed for them to function well in the technology world. Schools teach math to students regardless of whether they want to become mathematicians or not, because it is foundational. The same is true of computer science.
A few years ago, when I taught in South Asia, people told me that it is impossible to teach computer science in high school because most schools do not have a computer lab or computer teachers. To advocate that high school student learning a programming language is not practical. I explained: “I have taught in many countries and seeing what is happening there. Every country from Africa to South America are improving their education to include computer training, and students there are making progress. If you do not provide appropriate technology education, you are hurting your next generation both educationally and economically. Unless you take steps to change that situation, your country will miss an opportunity to improve your economy.” An educator told me: “But young people can learn by themselves without any help. They all have laptops, and mobile phones and do not need to be taught. Creating a computer education program takes time and cost, and we cannot afford it.” I answered: “Without proper training, your people will be “The Consumers of technology” and make somebody rich, because what they use, both hardware and software, are developed and manufacture somewhere, not in your country. Basically, you are spending money, not making money.”
- Blogs of Prof. John Vu, Carnegie Mellon University