COP4020 INTRODUCTION FALL 2015

advertisement

COP4020 INTRODUCTION

FALL 2015

COURSE DESCRIPTION

Programming Languages introduces the fundamentals of the design and implementation of programming languages. Programming languages are an essential means to express abstract computer programs. While programming languages may differ significantly in syntax and semantics, they share many common design concepts, translation mechanisms, and properties. This course reviews several common programming languages, defines programming language classes, introduces imperative and objectoriented programming language concepts, functional programming (with Scheme), logic programming (with Prolog), and presents theoretical and pragmatic aspects of programming language design, implementation, and analysis.

INSTRUCTOR INFO

Instructor: Caitlin Carnahan

Email: carnahan@cs.fsu.edu

URL: www.cs.fsu.edu/~carnahan

Office Location: Love 205A

Office Hours: TR 11-12, 2-3 or by appointment.

COURSE INFO

Prerequisite(s): COP4530 is a co-requisite. Additionally, you must have a working knowledge of Unix.

Credit Hours: 3

Text(s): Programming Language Pragmatics , 3 rd Edition. Michael L. Scott

ISBN-13: 978-0-12-374514-9

GRADE DISTRIBUTION

Programming Projects (4): 25%

Homework Assignments (Approx. 5): 15%

Oral Presentation and Paper: 10%

Midterm Exam: 20%

Final Exam: 30%

EVALUATION

Range

>= 93.00

90.00 – 92.99

87.00 – 89.99

83.00 – 86.99

80.00 – 82.99

77.00 – 79.99

B

B-

C+

Letter Grade

A

A-

B+

Range

73.00 – 76.99

70.00 – 72.99

67.00 – 69.99

63.00 – 66.99

60.00 – 62.99

<= 59.99

Letter Grade

C

C-

D+

D

D-

F

To receive a passing grade for the overall course, you must earn a passing on the projects (C- or better on average) as well as a C- or better on the Oral Presentation and Paper component and receive a combined passing grade according to the weight distribution shown in the table above.

EXAMS

This course includes two exams.

The midterm exam will cover the first part of the course.

The final exam will be comprehensive.

Exam dates will be announced well ahead of time.

If you are absent during an exam, you will receive a grade of 0 unless your absence has been cleared with me beforehand.

In the case of extreme circumstances beyond your control, you must come talk to me about the possibility of making up the missed exam.

PROJECTS

This course includes 4 projects.

The first two projects involve using Lex and Yacc to create a scanner and parser for a made-up mini language.

The last two projects will give you experience with functional programming

(using Scheme) and logic programming (using Prolog).

HOMEWORKS

There are approximately 5 homework assignments in this course.

Homework assignments consist of short-answer questions, essays, or problems.

Homework submissions are due in-class and may be hand-written or typed.

PROJECTS AND ASSIGNMENTS

You are expected to work individually on both the projects and homeworks.

Projects or assignments that are submitted beyond the due date will be penalized 10% for each day that they are late for a maximum of two days.

Your integrity as a student is taken very seriously in this course. Absolutely no cheating will be allowed. Be aware that “working a little too closely" is not a valid excuse and students who intend to help other students may be subjecting themselves to penalties for cheating.

If you are having trouble with an assignment, you need to come see me or the TA. We will gladly give you as much help as you need!

All submissions will be checked with plagiarism detection software.

The penalty for cheating will be a 0 on the submitted assignment and a half-letter grade deduction from your final grade.

PAPER AND PRESENTATION

A paper and classroom presentation is required. The paper should describe the chosen topic in sufficient depth and include references to publications.

References to web sites are allowed.

The paper and presentation material should be submitted in hardcopy AND in electronic format no later than the specified due date.

More information on this later!

ATTENDANCE

Come to class. Seriously. I know it’s kind of early but please don’t make me lecture to myself…I know the material already.

Attendance will not be taken in lecture except on presentation days and the first day of lecture.

Your attendance during presentations will affect your own presentation grade.

ADVICE

Start assignments early. Almost all assignments will take a considerable amount of time to complete.

Come to office hours whenever possible. The material is not easy but I am here to help you!

If you work as hard as you can, I will put in the same amount of effort to help you understand the material. 

WHAT TO DO NOW

Sit back and enjoy the lecture.

Read the syllabus when you get home.

Start the first reading assignment.

Browse the presentation topics – you will be asked to choose your top 3 choices and I will assign them later on.

Download