CS3022: Programming Paradigms - NPS Online
Programming Paradigms
Course #CS3022
Starts: not available
Est. completion in 3 months
Offered through Distance Learning
Avg. tuition cost per course:
See tuition
Learn more about Service Obligation
Questions? Reach out directly:
NPS Online Student Support
online@nps.edu
Overview
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.
Prerequisites
- CS3021
- CS3040
Learning Outcomes
Students will understand the major components of a computer language and how they relate to each other – syntax, semantics, compiling, memory management - and how these are implemented in different languages
Students will be aware of the major classes of languages (functional, imperative, declarative), their applications, the strengths and weaknesses of major languages
and how to choose the right language for the job
Students will be able to start writing basic code in each major family of languages and understand how to muster resources for becoming fluent in any language that a task requires.