Skip To Content
Introduction to Programming Languages is a Course

Introduction to Programming Languages


Sorry! The enrollment period is currently closed. Please check back soon.

Full course description


December 9, 2019








Importance of Programming Languages:

Understanding different programming languages and their paradigms can increase the capacity of expressing ideas, commanding programming languages, choosing appropriate languages for given programming tasks, learning new languages, and designing new languages. This deficiency exam will cover imperative, object-oriented, functional, and logic programming paradigms, which are required for supporting several courses in our computer science and software engineering programs, including CSE 310 (Data Structures and Algorithms), CSE330 (Operating Systems), and CSE340 (Principles of Programming Languages).

Course Objectives:

This deficiency exam will cover the following course objectives:

  • Objective 1: Understood features of different programming paradigms, including imperative, object-oriented, functional, and logic programming paradigms.
  • Objective 2: Understood procedural programming language C and written C programs using pointers and various data structures and programming techniques, including linked list and recursion.
  • Objective 3: Understood object-oriented programming language C++ and written C++ programs using pointers, different memory types (static, stack, and heap), and object-oriented features such as inheritance, polymorphism and class hierarchy.
  • Objective 4: Developed an introductory understanding of an applicative programming language and written Scheme programs requiring multiple functions and recursive functions.
  • Objective 5: Developed an introductory understanding of a declarative programming language and written Prolog programs that use multiple rules and recursive rules to solve a problem.

Who this deficiency exam designed for:

Students who are admitted with deficiencies to graduate programs in Software Engineering in the School of Computing, Informatics, and Decision Systems Engineering (CIDSE) at Arizona State University or students who are interested in becoming eligible to apply for this program. Students may also complete this deficiency exam if they have general interest in the topic area or who are looking for a refresher on operating systems.

What you'll receive:

You will receive a certificate of completion with your grade that you can attach in your graduate application for any graduate program within CIDSEEmail your certificate to If you’re a prospective student, you can upload it to your application.


Meet the Deficiency Exam Coordinator

Yinong Chen, Principal Lecturer, CIDSE

Yinong Chen is a principal lecturer in the School of Computing, Informatics, and Decision Systems Engineering in the Ira A. Fulton Schools of Engineering at Arizona State University. He received his doctorate from the University of Karlsruhe (KIT), Germany, in 1993. He did postdoctoral research at Karlsruhe and at LAAS-CNRS in France in 1994. From 1994 to 2000, he was a lecturer and then senior lecturer in the School of Computer Science at the University of the Witwatersrand, Johannesburg, South Africa. Chen joined Arizona State University in 2001. He's (co-) authored 10 textbooks and more than 200 research papers. He is on the editorial boards of several journals, including Journal of Systems, Software and Simulation Modeling Practice and Theory, and International Journal of Simulation and Process Modelling. Chen's areas of expertise include: Software Engineering, Service-Oriented Computing, Dependable Computing, Robotics and Embedded Systems, and Computer Science Education.