Computer programming is a fast-growing and highly popular area of the numerical sciences. The amazing thing about coding and implementing different sort of algorithms is that it opens up endless possibilities: you will see that even the tiniest set of symbols and instructions may give rise to a language rich enough to formulate and attack all sort of problems.
Programming 1 offers introductory steps for students with no prior experience but a keen interest in computer programming. The aim of the module is to establish a solid understanding of the general basic tools of code-writing (variables, loops, cycles, scopes) and code-fixing (spot-checks, debugging). The module will introduce and discuss the principal basic data types, containers, and functions through the C/C++ programming language. It will also introduce students to the philosophy behind the concepts of effective, clean, and maintainable codes.
Programming 1 will enable students to gain a good general understanding of computer programming and gather first hand experience in code-writing. The course will also establish the necessary background for further studies of more advanced programming techniques (independently or in the module Programming 2).
The classes will heavily focus on practical code-writing and problem solving. A reasonable portion of the homework assignments as well as the in-class problems will require independent coding and code analysis; questions like “what does this particular code output?” and “where is the error in the following lines of code?” will often be in the focus or our interest.