The AI Landscape
- Artificial intelligence is not as a single capability or system, but as a broad collection of techniques and approaches for solving different kinds of problems.
- AI has evolved from early symbolic, rule-based systems (1950s–1970s), to data-driven machine learning, and deep learning, to modern large language models and generative AI (2017–present), culminating in tools like ChatGPT and AI-integrated software.
- AI can be grouped into 3 broad categories: Rule-Based and Decision Systems, Predictive and Analytical Systems, and Generative Systems
- GPT (Generative Pre-trained Transformer) is a type of large language model built on transformer neural networks, which use attention to process entire sequences and capture context, enabling coherent, context-aware text or code generation.
- GPT generates content one token at a time, predicting each new token based on all previous tokens to produce fluent, contextually relevant, and novel outputs.
- GPT models are trained in stages: collecting large text datasets, designing the neural network, pre-training on broad data, fine-tuning on task-specific datasets, and iteratively evaluating and improving performance.
- ChatGPT is a user-friendly application built on GPT models, while GPT itself is also integrated into other tools like Microsoft Copilot, search engines, and coding environments.
AI-Assisted Coding Practical Skills
- Delegating full software development to AI without understanding the
code introduces technical, ethical, and reliability risks.
- AI tools should function as assistants, not autonomous developers,
supporting learning, debugging, and code generation.
- AI can be used as a reference tool to locate, summarise, and clarify
technical information more efficiently than traditional search.
- Researchers can use AI to explain unfamiliar code line by line,
helping them understand programming constructs and libraries.
- AI can assist with debugging by explaining errors and suggesting
possible fixes, but researchers should independently verify
solutions.
- AI is useful for generating boilerplate code, performing basic
refactoring, and drafting technical documentation, saving time on
repetitive tasks.
- AI can translate code between programming languages, but outputs
must be reviewed for correctness, compatibility, and
reproducibility.
- Integrating AI into IDEs offers contextual suggestions and autocompletion, but carries risks of over-reliance, limited explanation, and potential privacy concerns.
Ethics, Reliability and Security Considerations
- AI-generated code is not fully reliable: it may contain subtle
errors, outdated functions, or fabricated solutions (hallucinations)
that compromise research validity and reproducibility.
- Vibe coding (AI-assisted coding without planning) can produce messy, error-prone programs. Structured development and verification remain essential.
- Using AI tools can create data privacy, confidentiality, and
security risks, especially when submitting sensitive datasets or
proprietary code to cloud-based AI services.
- AI may suggest insecure or outdated coding practices. To mitigate
the risk you could embed security expectations in prompts and review
outputs critically.
- Be aware of the evolving issues surrounding intellectual property,
authorship, and citation of AI-generated code.
- Over-reliance on AI can lead to de-skilling, reducing researchers’
coding proficiency, critical thinking, and long-term ability to maintain
software.
- Ethical AI use requires human oversight, responsible data practices,
defined boundaries, transparency, and validation of AI-generated
outputs.
- It could be helpful for researchers to develop personal or team-level AI ethics and security policies.