Principles of Programming Languages

100% ONLINE

SELF-PACED

NO COST

Summary

Programming languages are one of the most important and direct tools for the construction of a computer system: in modern computers, different languages are routinely used for different levels of abstraction. Programming language is important because it defines the relationship, semantics, and grammar, which allows programmers to effectively communicate with the machines that they program.

Duration: 3 hours

Location: Online

Modality: Self-paced

This Course is not for Academic Credit

What you'll learn:

This short review certificate and deficiency exam will cover the following objectives:

  • Understand the salient features in the landscape of programming languages.
  • Understand the essence of defining concepts of programming languages, so as to allow critical choice about the level of abstraction.

Module and Content:

This certificate is 100% online, in English and self-paced and is comprised of short videos, interactive learning objects, and competency-based assessments, as well as readings and reflective activities.

Learning Objectives:

  • At the completion of this certificate, students will be able to demonstrate the following objectives:
  • Given a regular expression, students will be able to discern if a string matches a regular expression.
  • Given context-free grammar, students will be able to write a program to parse another program written following the context-free grammar.
  • Students will be able to follow semantic rules to determine whether a sentence in a program has semantic meaning.
  • In a programming language, given a line, students will be able to determine a definitive semantic meaning.
  • Navigate a typed system and determine type equivalence, recover unknown types through polymorphism, and determine type errors.
  • Use Lambda calculus.
  • Manipulate stack, heap, and memory at runtime.

Who is this certificate designed for:

Computer Systems Engineer BSE or Computer Science BS major; CSE 310 with C or better; CSE 230 or EEE 230 with C or better OR CSE graduate student OR Visiting University Student.

What you'll receive:

Upon finishing this certificate, students will receive an online certificate of completion.

Meet the instructor:

Fatemeh Haghighi, Ph.D.

Arizona State University

Fatemeh Haghighi is a Ph.D. student in Computer Science at Arizona State University (ASU) with a concentration in Artificial Intelligence. She joined ASU in August 2017 after working for three years at various software companies. Fatemeh earned her Bachelor’s and Master’s Degrees in Computer Engineering with a concentration in software engineering. Fatemeh also collaborates as a researcher with Mayo Clinic in Arizona. She is conducting interdisciplinary research in computer vision, deep learning, and medical imaging, focusing on developing novel methodologies to reduce annotation efforts for computer-aided diagnosis. Her research results in peer-reviewed journal/conference papers published in top journals and conferences such as IEEE Transactions on Medical Imaging (IF=6.685) and MICCAI 2020, in addition to 6 U.S. patents pending. Fatemeh has received several awards, including the ASU Doctoral Fellowship Award and the MICCAI 2020 National Institute of Health (NIH) Award.