I am quite interested in exploring the impact tools such as GPT and other generative AI will have not only on teaching CS, but also on how it will shift the roll of software developers in the next few years. I have a sense that entry level positions may change dramatically, and I want my students to not only have the ability to use these tools functionally, but also to understand potential impacts in fields such as CS.
I recently gave my students a project in Python in which they were permitted to use ChatGPT to assist in developing an email sender. It was not the first time we had used the tool in class, but it was the first time I wanted them to use it in a project to start to understand the possibilities.
Since then, one of my students has set to exploring a new language, Rust, and has used GPT excessively, to help him program with, learn, and understand this new language. Unit 4 Activity 1 - Email Sender.pdf (33.1 KB)
I agree with you that the AI revolution will change things. I think there are a lot in the education world who are fighting against it and I fully understand that. There are students who are going to use Chat GPT as a crutch, but I love how you are embracing that and turning it into a tool.
I have been doing some javascript tutorials to improve my own skills and I recently did one where javascript was used to generate a random 6 digit hexadecimal code (to randomly generate a color) and the tutorial used a for loop in a rather methodical, but slow way to build the hexadecimal number and it was done in a function with 5 or 6 lines of code.
I asked ChatGPT how to generate a 6 digit hexadecimal code and it returned a single line of code that took me a minute or so to read and understand, but it was more efficient and Chat GPT also explained it for me.
I learned just as much from that as from doing the tutorial. Teaching kids HOW to use it as a tool rather than as a crutch is the key and I think what you are doing is an important first step.
Of course, the site is blocked in my district, so there are always obstacles …
In my opinion, using Chat GPT is no different than accessing open source libraries (or clipping services backin the day.) In fact, I think that is what GPT does. Libraries are important tools for programming. The one concern is that it is easy to publish a library even if it is buggy.
Agreed, but chat GPT is much more accessible even to someone who doesn’t know what they are doing. If they know enough to ask in plain text English, Chat GPT will just generate code. Depending on how complex the task, it may not be plug and play useable, but it could generate code that the students could use without understanding it which is the concern.
If we can teach them to use it in a way that they are learning, I think that’s the key. They may not need to understand every nut and bolt, but at least enough to plug it in and debug unforeseen issues.
While I think simple use of Chat GPT can be library-like, I also think it is considerably more powerful than an open source library. The power of GPT and likely other/future similar programs is potentially transformative for education of CS students. Any user can take any chunk of code and ask for further explanation, additional examples, or even a more efficient way to write the same block of code. Not only can this help the learner clarify points in the code, it can literally work as a code trainer in a way no Google search or well written comments quickly can.
That’s right. We have to understand the tool and teach the students to use it effectively as a tool, not a crutch or replacement for learning, but a tool to go further with deeper understanding.
Ours was recently unblocked after I petitioned the administration and IT department. I believe blocking this type of website on school issued devices and network potentially will increase the technology divide since many but not all students have access to personal devices at home, where they can access GPT and use the tool.
While we can look at it as one more way to cheat, blocking websites does not teach kids to value what they are learning; it targets the wrong end of the problem.
Let me join the discussion here
Since GPT-4 is very good in reasoning, it is unlike anything we have seen before. It is pretty good at coding in many languages. Although not perfect, but has given me alternatives and sometimes solved critical questions. I teach university engineering students and there are some very good use cases I have found. Some of them are,
Create case studies for tutorials and class room discussions.
List a lot of ‘why’ & ‘how’ questions on the topic. Since GPT-4 is very good in reasoning, I’ve found some nice questions that I have not used earlier.
Ask several ways to explain a concept. since I am teaching for about 20 years now, my mind is set to give certain examples while teaching. Now I generate several ideas to explain the same thing. Some of them are pretty good.
Generate examples, samples.
Give a passage and generate questions from that passage.
Chat with it like a person to have a continued discussion on a topic to more. There is a limit to which it can explain. But it does a good job to a reasonable depth.
And it is good at any english task - essays, stories, songs, jokes, riddles, puzzles, poems. I’ve even asked it to explain a tech concept through a poem.
Brainstorming ideas.
Students can have AI as their personal tutor. Each student might be at different stages of learning and have different questions.
Multi-disciplinary learning is another advantage.
Maybe we can collect ideas and compile a document that others can use.