CSIS 420 Structures of Programming Languages


Course Description

A study of the basic design of computer programming languages, with greater emphasis placed on semantics (over syntax). A comparative analysis is made among several of the common languages.


Instructor

J. Walker Orr, Ph.D.
Office hours: WMR 216 (see schedule)


Texts

required


Resources


Objectives


Course Organization

This course will consist primarily of active student-collaborative lectures, in-class presentations, homework assignments, and hands-on experience with one or more new and novel programming languages. This course will include an on-going programming language project. This project will require students to acquire in-depth knowledge about a chosen, unfamiliar (to them) programming language, along with minimal programming competence in their chosen language. The project will include both a written and oral report.


Collaboration

See the GFU CS/IS/Cyber policies for collaboration and discussion of collaboration and academic integrity. Most students would be surprised at how easy it is to detect collaboration in programming—please do not test us! Remember: you always have willing and legal collaborators in the faculty.

Almost all of life is filled with collaboration (i.e., people working together). Yet in our academic system, we artificially limit collaboration. These limits are designed to force you to learn fundamental principles and build specific skills. It is very artificial but intensional for your own benefit. The only way for you to learn is by doing the work.

To be clear, do not:


Engineering Your Soul

The mission and vision statement of the Computer Science & Information Systems (CSIS) program states that our students are distinctive by "bringing a Christ-centered worldview to our increasingly technological world."

As one step towards the fulfillment of this objective, each semester, the engineering faculty will collectively identify an influential Christian writing to be read and reflected upon by all engineering faculty and students throughout the term. As part of the College of Engineering, CSIS students participate in this effort, known as Engineering Your Soul (EYS). This exercise will be treated as an official component of every engineering course (including CSIS courses) and will be uniquely integrated and assessed at my discretion, typically as a component of the quiz grade.

Students have three options for satisfying the EYS requirement.

The deadline for all of these options is the Wednesday the week after the group meetings.

All the reflections should be posted to the canvas EYS course. A reflection should be 100 or more words and should consist of your personal thoughts on the book and/or meeting, not simply a summary of the book.


Spiritual Formation

Besides EYS, I am always available to discuss the Christian faith if you have any questions or doubts. Send me an email, come by my office hours, or talk to my after class, Christ is the reason I am at GFU, I always have time to talk about faith.


Grading

The final course grade will be based on:

Grading Scale


Tentative Schedule

Week 1

Introduction: Design, History & Implementation of Languages

Reading: 1.1 – 1.8 & 2 & Project

Week 2

Describing Syntax, Grammars & Semantics

Reading: 3.1 – 3.5

Week 3

Lexical Analysis

Reading: 4.1 – 4.2

Week 4

Parsing

Reading: 4.3 – 4.4, skim 4.5

Week 5

Names & Variables, & Scope

Reading: 5.1 – 5.6

Week 6

Primitive Types, Arrays, Structures, Pointers & References, Type Checking

Reading: 6.1 – 6.14

Week 7

Arithmetic & Boolean Expressions & Assignments

Reading: 7

Week 8

Sequential & Conditional Flow & Iteration

Reading: 8.1 – 8.3

Week 9

Subprogramming, Parameter-Passing Mechanisms, & Functions

Reading: 9.1 – 9.12

Week 10

Object Oriented Programming

Reading: 12

Week 11

Functional Programming

Reading: 15

Week 12

Student Presentations

Week 13

Student Presentations

Week 14

Student Presentations

Week 15

Student Presentations


This page was last modified on 2025-11-06 at 00:23:02.

Copyright © 2018–2025 George Fox University. All rights reserved.