In a workplace increasingly influenced by AI, tech companies have begun using AI tools for tasks such as code generation, coding assistance, review and automated software testing. These platforms allow developers to boost productivity and reduce error-prone manual work. This doesn’t mean graduates are no longer expected to code, debug and test software; rather, they must learn to perform these tasks alongside AI tools.
The first half of an undergraduate programming course should focus on helping students understand the relevant programming language, build logic and solve problems using code. Instructors should teach all relevant product development life cycle tasks such as requirements gathering, user interface or API design and coding at this stage. Students should learn to work in coding teams, conduct peer code reviews and ensure their software applications meet user requirements. They should also be able to write test cases and test their code effectively, evaluate and fix the security risks of their code and enforce version control. Teachers should encourage students to use programming language documentation, follow coding standards and write precise documentation for their code.
In the latter part of a programming course, teachers should incorporate various AI tools such as GitHub Copilot that are now essential to the software product development life cycle. GitHub Copilot can suggest code completions, write code blocks and provide code explanations and tutorials via an interactive chatbot, while DeepCode AI, on the other hand, can help programmers perform code reviews, analyse code blocks and find bugs while keeping code secure. Some AI tools offer a “pair programming” feature, allowing students to work together to code and review and test each other's code. I also recommend tasking students to compare traditional code review results with those generated by DeepCode AI. Similarly, you could ask students to use AI code testing tools to automate code testing and compare the results with manual testing.
In full-stack development courses, students should learn agile methodology and become adept at designing user interactions. There is a wide range of tools available to aid designers with front-end and back-end tasks. For front-end tasks, instructors can teach students to use a tool like Motif to speed up the user interface design and coding. Students can then present their designs and review the creativity and user acceptability in classroom discussions.
- Resources on using AI in teaching
- The two key steps to promoting responsible use of LLMs
- Prompt engineering as academic skill: a model for effective ChatGPT interactions
Data analysis skills are becoming increasingly important for software engineers. They must analyse data, read documents, and create presentations or reports on a specific topic. Almost all aspects of these tasks, such as data gathering, integration, dashboarding, reporting and intelligence generation, are enhanced by AI tools like GathrIQ. Teach students to use Picktochart for report generation or Dall-E for image generation.
Using large language model-based AI tools requires students to become well versed in prompt writing. To nurture this skill, ask students to write prompts for a use case in a tool like ChatGPT, and evaluate them for clarity. Prepare your own examples that students can compare with their own.
Engaging with industry practitioners can help you design an AI-informed curriculum and prepare students for the workplace. Invite these individuals to speak to students and explain their experiences of adopting AI tools in the workplace. Insights gained from these exchanges can also help you with course design.
Following these talks, you could organise group discussions about data confidentiality, privacy and data security requirements and organise an activity that requires students to develop an AI checklist of risks, permissions, consent and clearances required when using AI tools.
More and more organisations are leveraging AI to drive innovation, improve productivity and maintain a competitive edge. Educators must ensure students understand which tools can aid them in their work, and that, by the end of the course, they can work effectively in an AI-powered coding environment.
Rohini Rao is an associate professor in the department of data science and computer applications at Manipal Academy of Higher Education, India.
If you would like advice and insight from academics and university staff delivered direct to your inbox each week, sign up for the Campus newsletter.
comment