This introductory course in computational chemistry covers the principles of computer-based molecular modelling and design. Students learn the basic theories and applications of modern computational methods and how to implement them using Python and Jupyter notebook workflows. Emphasis is placed on the computational cost and accuracy of different levels of theory and on the appropriate use of artificial intelligence (AI) and simple machine-learning models to analyze and interpret computational chemistry data.