Introduction to Programming
Full course description
The course serves as an introduction to programming tailored for students without prior experience. It is divided into two parts: the first part focuses on basic programming concepts, principles, and problem-solving techniques, emphasising language-agnostic approaches. The second part presents object-oriented programming (OOP) using C++, and introduces elements of Python and R programming. The course concludes with an exploration of Language Model Generation (LMG) using examples from ChatGPT.
Course objectives
- Develop an understanding of basic programming concepts such as variables, control structures, functions, and data types.
- Learn to formulate and solve problems algorithmically, using appropriate programming constructs.
- Acquire skills in data manipulation and analysis through introductory exposure to the Python programming language.
- Get familiar with Object Oriented Programming principles including inheritance and polymorphism, with practical experience in e.g. C++.
- Explore how programming can be applied in various scientific domains, including data analysis, simulation, and modelling.
- Explore the integration of language model generation techniques, such as the ones used by ChatGPT, into programming workflows to enhance code generation, documentation, and natural language understanding tasks.
Prerequisites
- None
Co-requisites
- PRA2003
Recommended reading
- “Programming Logic and Design” by Joyce Farrell
- “C++ Programming Language" by Bjarne Stroustrups
- “An Introduction to Python Programming for Scientists and Engineers” by Johnny Wei-Bing Lin et al.
- "Deep Learning" by Ian Goodfellow, Yoshua Bengio, and Aaron Courville
MAT2007
Period 1
2 Sep 2024
25 Oct 2024
ECTS credits:
5.0Coordinator:
Teaching methods:
Lecture(s), PBL, SkillsAssessment methods:
Attendance, Assignment