This information is probably not as thorough as I would like. It is based off of notes I wrote on the back of a business card since I did not have any other writing material available. So, I hope I captured the major points. The purpose of the meeting was to hear from members of our community who work with technology and want the best education for our high school and middle school students.
Steve gave an overview of his Computer Fundamentals class, which he is developing and taught for the first time this semester. The course is designed to cover what computers are, what they do, how they are physically built and maintained, and what goes into making them useful. The last part includes descriptions of peripherals, operating systems, systems software, application software, and computer language. A short introduction to Python occurs during the last two weeks of the course. Many of his students would like a little longer section on computer programming. Steve then explained the two follow-on course sequences that the students could take. His sections include how to build and maintain computers, networks of computers, and security issues. My follow-up courses include an introduction to Microsoft Office and two two-semester sequences on computer programming. The two sequences are for Java and C++. The reaction of the board on the last two was interesting. They think that Python and Java are taught as introductory languages more, but C++ is more tightly coupled to the hardware and produces much faster executables. As a side note, CSU expects students to know Java, while CU and the School of Mines expect students to know C++. If we teach both, it gives students a chose that could be helpful depending on which school they would like to attend.
One phrase that was given that intrigues me is that “All Data Has Bias!” From what I could gather by some follow-up questions and remarks is that data is usually presented in some organized form. The organizer has internal biases and even though most try to be fair those biases do come through in the presentation of the data. The alternative is to do what data analytics had to do in the past and go through all the data (like the programmers of the Saturn V rocket computers analyzing the output of a data dump from a Saturn V flight. Eve a straight data dump has the prejudice of the person who gathered the data.
Some of the areas that they would like to make sure we cover in technical classes are:
- Independent Research
- Machine Learning
- Ethics and Artificial Intelligence
- Introduction to Data Science
- Weapons of Math Destruction
- Project Organization (like Scrum/Agile)
- Functional Programming as well as Object Oriented Programming (OOP)
- Desire to Learn and Innovate
- Tools like Slack, IDEs, – I would like to talk with them more on this subject.
One last thing I heard was someone mention the importance of students having a mentor to help guide them and answer questions in such a way that helps them to develop solutions on their own.
Here are some comments made on the meeting that might be helpful.
I received some very useful links from an undergraduate student that is working on a machine learning project. She said these were some of the best resources she used to learn about machine learning concepts. I was browsing through them and found that some are really useful and very enjoyable to watch.
- https://ai.google/education/ – Google Tutorials and guides
- https://www.coursera.org/learn/machine-learning – Stanford Machine Learning Course
- https://www.udacity.com/course/intro-to-machine-learning–ud120 – Udacity Machine Learning Course
- https://machinelearningmastery.com – Website with tutorials on machine learning projects
- https://youtu.be/GvYYFloV0aA – AI Crash Course
- “Hands-on Machine Learning with Scikit-Learn, Keras, & TensorFlow” by Aurélien Géron
Computer Science Foundations and Office 365/2019 are probably the best way to introduce students to the field and it is why I’m leery about them, as they will soon begin to attract a lot of students, overwhelming us! I’m at 3 sections next semester and won’t be able to do that in the Fall.
I’m also concerned about our only being able to offer every-other-day certification classes. The students would learn so much more and be even more ready for the tests I could teach them every day and provide much more consistency. Note: I am also concerned about classes that are less than five days per week (or at least four) in programming. There is too much that students forget from class to class if we do not meet on a daily basis.
Data science intrigues me, and I will spend more time on it this upcoming semester as well as machine learning and a more formal approach to programming in Python. Website creation will decrease, as the students are able to achieve good website results with the free software already available to them. Unfortunately, if they want more in-depth WWW development, they’ll need to get it at college. I don’t think we have the staff or resources to add a 3rd Computer Science track.
It is important that students maintain interest in the sequence of courses. The hardware, networking, and security sequence requires the students to build on the previous course and maintain interest in the topics being covered. If students lose interest, it becomes difficult to justify teaching the more advanced courses. Note: The software language courses are only a two semester sequence and for the last few offerings have had good retention between the two classes.