Mario has been analyzed and deemed to be an NP-hard problem by a research group at MIT – read the entire article. This is quite humorous and something that my students will find very interesting. We have discussed the P vs NP Problem in class several times and many find it intriguing. This article and the research behind it will give me a reason to discuss P vs NP again.
Occasionally, some of my former students that are off attending college send me emails sharing their experiences. The one thing that I hear most often is “I am sure glad that I took a Computer Science class while in High School.”
Why is this? Are these students studying to be Computer Science majors and minors? No. Most of them are majoring in something related to Science, Engineering, or Math. I do have quite a few that go on to study CS, but that is not the majority.
Several of my students that have entered a study in Biomedical Engineering have emailed back to share that they are using Python. One even sent me some assignments that I shared with my Computer Science students. My CS students could not believe that this student was writing Python code in a Biology class. The class was a standard Biology class in the Biomedical track that required students to crank out some Python code.
Another group of kids went off to Texas A&M to study engineering and were using MatLab in all of their Calculus classes. I had my students check out one of the courses online to see what they were doing and once again they were really amazed. I had another student stop in that was at UCLA and he also stated that he was using MatLab in his math classes and was very thankful he took my class.
Computational thinking and learning how to use a computer and some tools to solve a problem is a very important skill to have no matter what you plan to do for a career. Students that are not planning to major or minor in Computer Science still need to have basic Computational skills. Often, they do not take Computer Science classes in high school as they are not interesting in learning the details of a specific programing language, but are very interested in learning how to use a computer to solve problems related to math, science, engineering, or whatever is their passion.
Offering a less language focused course that incorporates more cross-disciplinary problem solving is a way to get more of the Science, Math, Engineering students to take a Computer Science class. They are learning a ton of important Computer Science concepts and skills while learning why they need to learn Computer Science. We use this approach as much as possible and find that some students go on to study Computer Science as a major or minor that might not otherwise have done so. The students that had already planned to study CS all along really like this approach as well.