Перейти к основному содержанию
CSI Linux Academy
CS404: Programming Languages
0%
Previous
Course data
Course Introduction
Course Syllabus
Course Terms of Use
Unit 1: Introduction to Programming Languages
Unit 1 Learning Outcomes
1.1: Evolution of Programming Languages
Wright State University: T.K. Prasad's "Evolution of Programming Languages"
Johns Hopkins University: Mike Grant, Zachary Palmer, and Scott Smith's "Principles of Programming Languages"
Indian Institute of Technology, Delhi: S. Arun Kumar's "Introduction to Programming Languages"
99 Bottles of Beer
1.2: Lambda Calculus
University of Texas at Austin: Thomas Dillig's "Basic Lambda Calculus"
Stanford University: John Mitchell's "Programming Fundamentals"
New York University: Chris Baker's "Lambda Tutorial"
1.3: Syntax as a Language's Form
Wright State University: T.K. Prasad's "Syntax Specification: Grammars"
Indian Institute of Technology, Delhi: S. Arun Kumar's "Syntax and Grammar"
1.4: Semantics as the Meaning
University of Texas at Austin: Thomas Dillig's "Operational Semantics I"
University of Texas at Austin: Thomas Dillig's "Operational Semantics II"
Indian Institute of Technology, Delhi: S. Arun Kumar's "Semantics"
Unit 2: Types
Unit 2 Learning Outcomes
2.1: Principle of Typing
University of Texas at Austin: Thomas Dillig's "Principles of Typing"
Stanford University: John Mitchell's "Types and Polymorphism"
Stanford University: John Mitchell's "Type Systems, Type Inference, and Polymorphism"
Johns Hopkins University: Scott F. Smith's "Principles of Programming Languages"
2.2: Type Checking
University of Texas at Austin: Thomas Dillig's "Basic Typing Rules and Proofs"
University of Virginia: Wes Weimer's "Type Checking and Static Semantics"
Indian Institute of Technology, Delhi: S. Arun Kumar's "Type Checking"
2.3: Polymorphic Typing and Type Inference
University of Texas at Austin: Thomas Dillig's "Polymorphic Tpying and Type Inference"
Unit 3: Functional Programming
Unit 3 Learning Outcomes
3.1: Overview
Haskell Wiki: "Functional Programming”
University of California, Berkeley: Brian Harvey's "Functional Programming"
3.2: Higher-order Functions
University of California, Berkeley: Brian Harvey's "Higher-Order Procedures"
3.3: Pure Functional Functions
Paul Hudak, John Peterson, and Joseph Fasel's "Values, Types, and Other Goodies"
Paul Hudak, John Peterson, and Joseph Fasel's "Functions"
3.4: Real Languages: Haskell
Stanford University: John Mitchell's "Haskell"
3.5: MapReduce
Ralf Lammel's "Google's MapReduce Programming Model - Revisited"
Unit 4: Imperative Programming
Unit 4 Learning Outcomes
4.1: Introduction to Imperative Programming
University of Texas at Austin: Thomas Dillig's "Introduction to Imperative Languages"
4.2: Pointers
University of Texas at Austin: Thomas Dillig's "Operational Semantics of an Imperative Language with Pointers"
Unit 5: Object-Oriented Programming
Unit 5 Learning Outcomes
5.1: Introduction and Fundamental Features of Object Oriented Programming
University of Texas at Austin: Thomas Dillig's "Object-Oriented Languages"
Stanford University: John Mitchell's "Objects"
Johns Hopkins University: Scott F. Smith's "Principles of Programming Languages"
University of California, Berkeley: Brian Harvey's "Object-Oriented Programming"
5.2: Object Types and Subtyping
Stanford University: John Mitchell's "Object Types and Subtyping"
5.3: Java Virtual Machine
Stanford University: John Mitchell's "Implementation Structures"
5.4: Templates and Generics
Stanford University: John Mitchell's "Templates and Generics"
Unit 6: Scripting Languages
Unit 6 Learning Outcomes
6.1: What Is a Scripting Language?
John K. Ousterhout's "Scripting: Higher Level Programming for the 21st Century"
University of Maryland, Baltimore County: Daniel J. Hood's "Introduction to Scripting Languages"
6.2: Regular Expressions
University of Maryland, Baltimore County: Daniel J. Hood's "Regular Expressions"
6.3: Ruby
University of Maryland, Baltimore County: Daniel J. Hood's "Ruby"
6.4: Python
University of Maryland, Baltimore County: Daniel J. Hood's "Python"
6.5: JavaScript
University of Maryland, Baltimore County: Daniel J. Hood's "JavaScript"
Unit 7: Logical Programming
Unit 7 Learning Outcomes
7.1: Overview
University of Oxford: Michael Spivey's "An Introduction to Logic Programming through Prolog"
Indian Institute of Technology, Kharagpur: P. Dasgupta's "Prolog"
7.2: Basic Features and Examples
University of California, Berkeley: Brian Harvey's "Logic Programming"
Next
CSI Linux Academy
Боковая панель
Categories
All categories
Cyber Forensic Investigations
CSI Linux Courses
Ethical Hacking and Penetration Testing
Information Security
Coding
CSI Linux Certification Exams
CSIL - Online Investigations
CSIL - Lab Management
CSIL - Computer Forensics
CSIL - Incident Response
CSIL - Specialists
CSIL - Artificial Intelligence
Open Course Resource Center Courses - Free
Communicating More Effectively
Computer Science
Behavior and Politics
Business
Retired Courses
В начало
Edwiser Forms
CSI Linux
Cyber Secrets Media
Cyber WAR
Investigator's Starting Guide
Русский (ru)
Deutsch (de)
English (en)
English (United States) (en_us)
Español - Internacional (es)
Français (fr)
Italiano (it)
Português - Brasil (pt_br)
Русский (ru)
Вход
Логин
Логин
Пароль
Пароль
Forgot your password?
Вход
CSI Linux Academy
Categories
Свернуть
Развернуть
All categories
Cyber Forensic Investigations
CSI Linux Courses
Ethical Hacking and Penetration Testing
Information Security
Coding
CSI Linux Certification Exams
CSIL - Online Investigations
CSIL - Lab Management
CSIL - Computer Forensics
CSIL - Incident Response
CSIL - Specialists
CSIL - Artificial Intelligence
Open Course Resource Center Courses - Free
Communicating More Effectively
Computer Science
Behavior and Politics
Business
Retired Courses
В начало
Edwiser Forms
CSI Linux
Cyber Secrets Media
Cyber WAR
Investigator's Starting Guide
Open Course Resource Center Courses - Free
Описание
Информация о курсе
CS404: Programming Languages
Detailed exploration of the design space of programming languages, specifically the functional, imperative, logic and object-oriented programming languages.
brandman
Skill Level
:
Beginner