logo
 
Syllabus
CS 4700 - Programming Languages
Utah State University
Home
Calendar
Homework   
Lectures
Handouts
Syllabus
Resources
People
Print

Course Location

T,Th 10:30-11:50, Main 117
http://www.cs.usu.edu/~cdyreson/teaching/languages/092

Teacher Contact Details

Assistant Professor Curtis Dyreson
Office: Main 402A
Phone number: 797-0742
E-mail: Curtis.Dyreson at usu dot edu
Office Hours: Tue 12:00-13:00 and Thu 9:30-10:30 or by appt. via e-mail

Course Background

This course is a gentle introduction to basic concepts in the design of programming languages. Students are expected to already be familiar with the C programming language. Examples of concepts will be presented using specific languages. At the end of the course students will be familiar with the concepts that are commonly available in widely used programming languages.

Course Objectives

This course will help students to achieve the following objectives.
  • Understand the principles and components of programming language design, such as control structures, names, types, exceptions, etc.
  • Become familiar with the various schools or paradigms of programming languages, for instance functional languages.
  • Use several programming languages.
  • Learn how to specify syntax and semantics for a language.
  • Develop a rudimentary understanding of programming language implementation, especially insofar as the implementation impacts language design.

Text Book

Kenneth C. Louden. Programming Languages: Principles and Practice, 2nd Edition

Course Prerequisites

CS 2420: Algorithms & Data Structures

Course Requirements

Students are responsible for attending lecture. A summary of each lecture will be posted on-line, but students are responsible for a complete set of lecture notes. Students are also expected to participate in class discussions to a reasonable extent. This aids learning and provides valuable feedback on the lecture. The teacher reserves the right to lower the grade of any student who is markedly deficient in attendance and/or participation.

Homework, Assignments, and Tests

There will be one mid-term exam and one final exam. There will be four homework assignments and five programming projects. All programming assignments can be done with the computers in one of the instructional labs, or on a home machine. Turnin will be via file upload.

The following allocation of grade percentages is tentative, and may change during the semester.

  • Exams (2): 45% (16,29)
  • Prog. Assignments (5): 35% (7, 7, 7, 7, 7)
  • Homework (4): 20% (5, 5, 5, 5)

Cheating Policy

Exams, homework, and programming projects are subject to the CS Department policy on academic integrity. DO NOT CHEAT IN ANY WAY: DO YOUR OWN WORK! Side effects of cheating can be severe, and may include expulsion from the university.

Grading Policy

All grading will generally be marked within a week of the due date and returned to students in lecture. Additionally, some grades will be sent via e-mail. Assessment may be resubmitted for re-grading no later than one week after the assessment is returned. This is the only window of opportunity for re-grading. In order to submit a piece of assessment for re-grading, write or type a detailed explanation of the reasons for the re-grading. Then submit the re-grading to the professor.

Early Assignment and Homework Turnin

Always a good idea!

Late Assignment and Homework Turnin

While you may turnin an assignment or homework late, 10% of the total points are deducted for each day late. Please start early and finish early.

Withdrawal Policy

Students are required to complete all courses for which they are registered by the end of the semester. In some cases, a student may be unable to complete all of the coursework because of extenuating circumstances, but not due to poor performance or to retain financial aid. The term extenuating circumstances includes:
  • incapacitating illness which prevents a student from attending classes for a minimum period of two weeks,
  • a death in the immediate family,
  • financial responsibilities requiring a student to alter a work schedule to secure employment,
  • change in work schedule as required by an employer, or
  • other emergencies deemed appropriate by the instructor.

Students with Disabilities

Students with ADA-documented physical, sensory, emotional or medical impairments may be eligible for reasonable accommodations. Veterans may also be eligible for services. All accommodations are coordinated through the Disability Resource Center (www.usu.edu/drc) in Room 101 of the University Inn, (435)797-2444 voice, (435)797-0740 TTY, or toll free at 1-800-259-2966. Please contact the Disability Resource Center as early in the semester as possible. Alternate format materials (Braille, large print or digital) are available with advance notice.

MSDNAA Agreement

The USU Computer Science Department is a member of the Microsoft Academic Alliance (MSDNAA), and specifically what is now called the Developer Academic Alliance. Through this program, students in CS courses can obtain and use a large number of Microsoft's operating systems and software packages. If you are interesting in downloading any of this software for your use, please follow the directions found at http://www.cs.usu.edu/htm/elms.

Topic Outline

The following is a rough outline of the topics the class will cover, and the related chapters in the textbook. Note, however, that the lectures will not follow the book completely; some lecture materials will not appear in the book, and some material in the book will not be covered in lecture.
  • Introduction & History (Chapters 1, 2)
  • Language Design Principles (Chapter 3)
  • Syntax (Chapter 4)
  • Semantics (Chapters 5, 13)
  • Data Types (Chapter 6)
  • Control (Chapters 7, 8)
  • Abstract Data Types and Objects (Chapters 9, 10)
  • Programming paradigms (Chapters 11, 12, 14)

Course Fees

Associated with this class is a course fee of $25. The monies from this fee are used to maintain lab facilities for the class, purchase software and licenses, and supervise the lab. In some cases, students may have their own computing equipment, and thus feel that they do not need to use the lab. However, the lab must be maintained regardless of an individual's use of it, and thus the fee is charged to all registered for the class. If you have questions or concerns about this fee, please see the department head.


                                                                                                                                                                                                                                                                                                                                             

  Copyright © 2009 by Curtis Dyreson. All rights reserved.