Materials for PET328: Computer Applications in Petroleum Engineering
The delivery of this course module opens with a succinct presentation on the skills for emerging oil/gas opportunities in data analytics, machine learning and artificial intelligence – this is to stimulate the students’ interest. Thereafter, a gentle introduction to computer programming is presented. At its core, the module teaches the basic features of the Python programming language – input/output, objects (values, variables, keywords and statements), conditional execution, repetitive loops, functions and data structures (lists, tuples and dictionaries). The presentation of these features is enriched with simple applications such as reservoir volumetrics, material balance equation (MBE), PVT property computations, reservoir discretization and simulation. The course enhances students’ hands-on experience with in-class demo scripting and take-home programming assignments featuring simplified petroleum engineering workflows and algorithms. As an extra perk, the course features a training on the use of distributed version control tools (GitHub) to drive team spirit and collaboration between students and instructors. In promoting open-access culture, all course materials are made freely available on a dedicated GitHub repository, with URLs inserted as hyperlinks in the lecture notes. Ultimately, the course assesses students’ skill level with an examination set in the context of quasi-real-life projects.
########################### Course Content ###################################