0% found this document useful (0 votes)
77 views18 pages

CS 415: Programming Languages

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1/ 18

CS 415: Programming

Languages
Course Introduction
Aaron Bloomfield
Fall 2005

Prerequisites
Prerequisites: CS216 and CS333 with grades of
C- or above.
It is assumed that students entering this class
have the following background:

Experience with an OOP language (such as Java or


C++), from CS 101/201
Experience with a procedural language (such as C),
from CS 216
Familiarity with an assembly language, from CS 216
or CS 333

Course objectives
1.
2.
3.
4.

5.

Students who complete the course will:


Develop a greater understanding of the issues involved
in programming language design and implementation
Develop an in-depth understanding of functional, logic,
and object-oriented programming paradigms
Implement several programs in languages other than
the one emphasized in the core curriculum (Java/C++)
Understand design/implementation issues involved with
variable allocation and binding, control flow, types,
subroutines, parameter passing
Develop an understanding of the compilation process

Textbook
Textbook: Scott, Michael.
Programming Language
Pragmatics. Morgan
Kaufmann: 2000
Textbook errata at
http://www.cs.rochester.e
du/u/scott/pragmatics/erra
ta.html

Expected Assignments
Write programs in several different languages

Current plan is the five listed a few slides back

Course project: to learn another language of


your choice

Includes a program, paper, and presentation

Midterm (on Wednesday, 12 October, during


class)
Final exam (on Tuesday, 13 Dec from 9:00 12:00)

Both exams are closed book

Grades
35%: Programming homeworks
15%: Individual project and presentation
20%: Midterm
25%: Final exam
5%: Class participation
Class participation will be graded partly based
on attendance

In particular, you need to be conscious during class!


Just having a pulse and being present is not sufficient

Late policy
Each person will be allowed ONE late day (24
hours) this term
The late policy is 30% off for first 24 hours late,
50% off for the next 24 hours
Assignments are not accepted after 48 hours
from original due date
Note that using your late day extends this
calendar by 24 hours, so that you could turn the
assignment in up to 72 hours after the original
due date

Theory vs. Implementation


This class focuses on both:

Theory is covered by the textbook readings, lectures,


and on the tests
Implementation is covered by the homework
assignments and the project

You will need to do both to do well in the course

You cant slack off on the theory part!


Thus, if you dont keep up with the readings, you will
end up with a poor grade in the course

Tentative schedule
See the website

Class Topics
History
Major paradigms

Historical (Fortran)
Functional (Scheme or OCaml)
Logic (Prolog)
Object-oriented (Smalltalk)
Aspect-oriented (AspectJ)

How different languages deal with:

Naming and scopes


Control flow
Types
Subroutines

Language design and implementation tradeoffs


Compilers, debuggers, programming environments

Programming languages vs.


compilers
This is not a compilers course

But we will be studying compilers in great detail

The two fields are very closely linked

You cannot understand one without understanding the


other

Honor Policy
Yada, yada, yada
You know the drill youve heard it all before by
now

Fairness
I intend this course to be hard but fair
If it is not being fair, please let me know and I will
do my best to correct it
If it is not being hard (or being to hard), also let
me know

Upcoming readings
I will try to give you the readings well in advance
so you can plan accordingly

See the course schedule as well

Read chapter 1 for Monday


Read the Algol 60 report for Wednesday
Read (most of) chapter 2 for the following week

A note on acronyms
My policy on acronyms for this course
Acronyms that are pronounced are in title case:

Fortran
Cobol
Basic

Acronyms that are spelled-out are all in upper case:

PHP
HTML
XML

Keeping the class interesting


Humor breaks

Actually helps with attention span!


Not surprisingly, most of it will be computer humor!

Motivational posters

Demotivational posters

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy