CS3022 Programming Paradigms
There are a vast number of available programming languages. Is the most popular or recent language the right one for the job? Students in this course will learn about the different families of languages (functional, imperative, declarative) and learn how to code algorithms in different languages. The will learn about how programming languages are developed and specified. They will learn about features such as garbage collection, type systems and object orientation, that can be implemented in different languages. Students will learn how different programming paradigms are suited to different problems. This will enable them to choose the most appropriate language to solve a problem, optimizing effort and efficiency whether working as an individual developer for their thesis work, or supervising teams of developers or structuring contracts for software development. Our warrior scholars will be equipped to choose a software development environment that is secure, efficient and optimized for the task at hand.
Lecture Hours
3
Lab Hours
2