180 likes | 282 Views
COP4020/CGS5426 Programming languages Syllabus. Instructor. Xin Yuan (xyuan@cs.fsu.edu) Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website: Blackboard and http://www.cs.fsu.edu/~xyuan/cop4020. Teaching Assistants. Jiefei Cai, Office: Lov 020 Email: cai@cs.fsu.edu
E N D
Instructor Xin Yuan (xyuan@cs.fsu.edu) Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website: Blackboard and http://www.cs.fsu.edu/~xyuan/cop4020
Teaching Assistants Jiefei Cai, • Office: Lov 020 • Email: cai@cs.fsu.edu • Office hours: TBD Carlos Sanchez • Lov 171 (mobile lab) • Email: crs09e@my.fsu.edu • Office hours: TBD
Course Objectives • Understand concepts in programming languages • Be able to explain common language constructs and features • Be able to explain the subtlety in language features such as scoping, binding, and parameter passing. • Be able to simulate useful features in languages that lack them • Understand the general approach to implement a language. • Be able to write a programming language translator (compiler/interpreter). • Be able to program in procedural, object-oriented, functional, and logical programming languages • Functional programming, logical programming • Ultimate goal: be able, in principle, to design a new programming language
Prerequisites • COP 4530 Data structures • Working knowledge of the UNIX environment • Proficiency in C or C++
Course Material • Lecture notes (posted at the class website) • Textbooks: • Michael Scott, Programming Language Pragmatics, 3rd Edition
Class Grading • Midterm (20%) • Final (30%) • Covers the whole course • Programming projects (25%) • Oral presentation and paper (10%) • Quizzes and homework assignments (15%)
Presentation • Oral • Written (paper) • Must pass (70% or above) the oral and written presentation in order to pass the course • This is a cornerstone requirement from the upper level.
Programming projects • Programming projects (25%) • Language implementation (partial compiler) • Alternative programming • Complete project within due date • 10% penalty each day for up to two days for late submission
Letter grades • A : 94-100% C+: 77-79% D-: 60-62% • A-: 90-93% C: 73-76% F: 0-59% • B+: 87-89% C-: 70-72% • B: 83-86% D+: 67-69% • B-: 80-82% D: 63-66% To get C- or above, you must have a C- for the project and the combined grade.
Computer Accounts • Computer science account • Various tools • SSH, E-mail, text editor, g++, make • All programming assignments should be done on the CS servers (linprog). • FSU account • Receiving class emails • Please communicate with the instructor and the TA using a fsu account (cs or FSU). Emails from outside fsu (yahoo, hotmail, gmail, etc) may be ignored (or filtered).
Tentative schedule • Week 1: Introduction (Chapter 1) • Week 2: Syntax (Chapter 2) • Week 3: Syntax (Chapter 2) • Week 4: Names Scopes, and Bindings (Chapter 3) • Week 5: Semantics (Chapter 4) • Week 6: Semantics (Chapter 4) • Week 7: Axiomatic Semantics • Week 8: Control Flow (Chapter 6) • Week 9: Midterm • Week 10: Spring Break • Week 11: Subroutines and Parameter Passing (Chapter 8) • Week 12: Exception Handling (Chapter 8) • Week 13: Functional Programming (Chapter 10) • Week 14: Functional Programming (Chapter 10) • Week 15: Logic Programming (Chapter 11) • Week 16: Logic Programming (Chapter 11)
Academic honor policy • Read the student handbook • All violations will be processed by the university • Step 1 penalty: 0 grade for the particular homework/project/exam AND 1 letter grade downgrade for the final course letter grade (e.g. B->C).
Your Responsibilities • Understand lecture and reading materials • Attend office hours for extra help, as needed • Uphold academic honesty • Turn in your assignments on time • Check class Web page and your email account and regularly
Dos and Don’ts • Do share debugging experiences • Do share knowledge of tools • Do acknowledge help from others • Do acknowledge sources of information from books and web pages
Dos and Don’ts • Don’t cheat • Don’t copy code from others • Don’t paraphrase code from others either • E.g., changing variable names & indentations • Don’t leak your code to any place • There is no difference in terms of penalty between copying and being copied. • All honor code violation will be resolved through the Office of the Dean and the Faculties. • Zero for the particular assignment/exam AND one letter grade deduction for the level 1 agreement (first violation).
Course Policies • Attendance mandatory • There are no make-up exams for missed exams unless one (1) has a good excuse AND (2) notices the instructor before the exam. • Students with disabilities • Report to Student Disability Resource Center • Bring me a letter within the first week of class
To see or not to see me & TA • We are not psychics • Please let us know if… • Class is too hard • You don’t have the background • Class can be improved in certain ways • When in doubt, email us…