Jody Paul (Logo) Dr. Jody Paul – EducationMSCD Courses
Principles of Programming Languages
jody@acm.org    
     
Link to Home Page for Jody Paul Link to the Education section main page Link to Software Engineering section Link to Music section Link to Recommendations section
    Link to MSCD Courses page        

Course Information

Title: Principles of Programming Languages
Institution: Metropolitan State College of Denver
Semester: Spring 2008
ID [CRN]: CS 3210 [33473]
Meeting Times:

Mondays & Wednesdays, 7:00 PM - 8:50 PM

Location:

Science 228

Prerequisites: CS 3050
Course Website: http://www.jodypaul.com/cs/proglang
Course Support: http://www.jodypaul.com/moodle/
Instructor: Dr. Jody Paul (schedule & office hours)
E-mail: jody@cse.mscd.edu
Office: Science 225C
Campus Mail: Campus Box 38

Course Description:

This course provides the opportunity to experience and analyze four modern programming paradigms: procedural, functional, logical and object-oriented. It traces the evolution of programming languages and identifies contributions made by several significant languages and their successors. The course also includes study of specific issues of programming language implementation (e.g., parsing).
Prerequisites: CSI 3050 with grade of C or better, or permission of instructor.

Motivation:

A programming language is a computer scientist's principle interface with the computer. More than just knowing how to program well in a single language, computer scientists and software engineers need to understand the various features and styles of programming promoted by different languages and language paradigms.

Understanding the programming languages available, their constructs and design tradeoffs, enables even the single-language programmer to have greater versatility and makes learning new languages far easier.

Software engineers will often be expected to write a custom language of some sort (e.g., XML schema, small scripting language, configuration file format). Knowledge of the core principles of programming languages will help them produce better languages.

Resources:

 
Image of Book Cover - Concepts of Programming Languages / Link to Amazon.com

Concepts of Programming Languages, 8th Ed.
 [Amazon]
by Robert W. Sebesta
Addison Wesley; Eighth Edition (2007)
ISBN 0-534-95097-3
REQUIRED

Textbook Companion Website
RECOMMENDED

WikiBooks Logo

Programming Languages
Programming Languages Bookshelf
Wikibooks: The Open-Content Textbooks Collection
RECOMMENDED

Link to  Course Support Site Course Support Website
http://www.jodypaul.com/moodle/
REQUIRED

Computation & Connectivity:
All participants receive access to technology resources that are required for accessing the World Wide Web and e-mail by virtue of being students at MSCD (see: http://www.mscd.edu).

Policies:

Significant information will be disseminated during class sessions or on the course support website that you are responsible for whether or not you attended the sessions or accessed the website. That is, the textbooks do not contain all of the information necessary to successfully complete the course.

Assignments, Practice & Self-Assessment

Hands-on experience and extended practice with the programming paradigms and languages is vital to applying course knowledge to real-world applications. Assignments represent your opportunity to practice applying the concepts and thereby enhance your understanding. Details will be provided on the course support website.

An individual write-up is required for each assignment, in which you are expected to reflect on the experience of working on the assignment and report personal insights and observations.

The textbook companion website provides self-assessment quizzes associated with each chapter. These self-assessments are highly recommended.

Collaboration

I encourage collaboration and regard it as essential aspect of Computer Science and Software Engineering. You are not expected to learn the course content in isolation. Collaborative learning, study and discussion with fellow students concerning course information, materials, assignments, and reviewing for exams is encouraged. All materials that are submitted for grading purposes must have all collaboration clearly identified, including specification of individual contributions where appropriate. Note that collaboration is not acceptable during any exam.

5-Week Project

An extensive (5-week) project is required of all paticipants. Details will be provided on the course support website.

Grading

Your final course grade is determined by combining your scores on assignments and exams. You are guaranteed a grade no lower than that computed by the following distribution of total points and weighted conversion to letter grade:

Distribution:
Assignments = 10%
Midterm = 20%
Project = 20%
Final Exam = 50%

Weighted conversion to letter grade
100-90%: A;  89-80%: B;  79-70%: C;  69-60%: D;  59-0%: F

 

Official Announcements:

Official policies applicable to all courses: http://cs.mscd.edu/metadot/index.pl?iid=2249

Also see the MSCD College Catalog at http://www.mscd.edu/academic/catalog/ for official announcements, including Academic Policies and Procedures and Student Rights and Responsibilities, and the Academic Calendar at http://www.mscd.edu/academic/acal.htm for additional official dates and deadlines, including the last dates to withdraw and receive NC (with and without faculty signatures).

Valid HTML 4.01 Transitional ©2008 Dr. Jody Paul – All Rights Reserved