This course is an upper division computer science course that studies the design of programming languages. While most of the industry uses either procedural or object-oriented programming languages, there are entire families of other languages with certain strengths and weaknesses that make them attractive to a variety of problem domains. It is important to know about these less well-known yet powerful languages if you find yourself working in an area that could utilize their strengths. In this course, we will discuss the entire programming language family, starting with an introduction to programming languages in general and a discussion of the features and functionality that make up the modern programming language. From there, each unit will discuss a different family of programming languages, including Imperative, Object-Oriented, Functional, Scripting, and, Logical. For each language, you will learn about its computational model, syntax, semantics, and pragmatic considerations that shape the language. By the end of this course, you will be able to intelligently discuss each of these programming paradigms, their respective strengths and weaknesses, and the reasons why you would opt to use one over the others in a given situation. You will also have opportunities to delve into the details of the design and evolution of several specific programming languages, including Scheme, Haskel, Java, C++, C#, Perl, Python, and Prolog.
This course teaches skills that are valuable employers*
Estimated for jobs that may use skills taught in this course. Based on data from 31 job titles.
Review this course
Add this course to your list:Add to List
Tell a friend about this course.
Like this course? You might enjoy these.
Course added! To see courses you've added to your list, visit your profile
|Salary Query||SOFTWARE PROGRAMMING LANGUAGES|
|Amazon Query||PROGRAMMING LANGUAGES LANGUAGE STRENGTHS DISCUSS|