Programming Paradigms

Course #CS3022

Start Starts: not available

Clock Est. completion in 3 months

Location pin Offered through Distance Learning

Avg. tuition cost per course: See tuition Info For specific tuition costs of each program or contact information, please contact the NPS Tuition office at tuition@nps.edu .

Learn more about Service Obligation Info Officers accepting orders to a Graduate Education Program (GEP) are obligated to serve on active duty after completion.

Questions? Reach out directly:

NPS Online Student Support

online@nps.edu

Email
Offerings database access

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.