Analysis of Programming Languages
CS 253 / INF 212
Analysis of Programming Languages
CS 253 / INF 212
Informatics 212 / Computer Science 253: Analysis of Programming Languages
Winter Quarter 2017
General Information
Instructor: Professor James A. Jones
Email: jajones@uci.edu
Class Time: Tuesday, Thursday 3:30pm–4:50pm
Class Location: MSTB 110
Instructor Office Hours: After class, or by appointment.
Course Exam: Tuesday, Mar. 21. 4:00pm–6:00pm
Textbook (Required): Exercises in Programming Style by Cristina Lopes
GitHub Repository containing all example Python code: GitHub
List of stop words: https://github.com/crista/exercises-in-programming-style/blob/master/stop_words.txt
Pride and Prejudice book text: https://github.com/crista/exercises-in-programming-style/blob/master/pride-and-prejudice.txt
Successfully pass the test: https://github.com/crista/exercises-in-programming-style/tree/master/test
Specifically, the output of your program over the book Pride and Prejudice should match this: https://github.com/crista/exercises-in-programming-style/blob/master/test/pride-and-prejudice.txt
Description
Course Description:
Concepts in modern programming languages, their interaction, and the relationship between programming languages and methods for large-scale, extensible software development. Empirical analysis of programming language usage.
Requirements and Expectations of Students:
This course requires a strong programming background and a good understanding of complex programs. There will be many homeworks that require programming. As such, I expect students to:
•Be familiar and comfortable with software programming. As a group we will use and read several programming languages, so a comfortability and eagerness to learn new programming languages is important.
•Bring laptop computers to class to participate in programming and code review exercises.
•Purchase (within the first week of class) the required textbook: Exercises in Programming Style by Cristina Lopes
Schedule (Tentative)
•W1 Jan 10: Course Introduction
•W1 Jan 12: Chapter 1 “Good Old Times”
•W2 Jan 17: Chapter 2 “Go Forth”. Review of Chapter 1 assignments.
•W2 Jan 19: Chapter 3 “Monolithic”.
•W3 Jan 24: Chapter 4 “Cookbook”. Review of Chapter 2 assignments.
•W3 Jan 26: Class Cancelled.
•W4 Jan 31: Chapter 5 “Pipeline”. Review of Chapter 3 assignments.
•W4 Feb 2: Chapter 6 “Code Golf”. Review of Chapter 4 assignments.
•W5 Feb 7: Chapter 7 “Infinite Mirror”. Review of Chapter 5 assignments.
•W5 Feb 9: Chapter 8 “Kick Forward”. Review of Chapter 6 assignments.
•W6 Feb 14: Chapter 9 “The One”. Review of Chapter 7 assignments.
•W6 Feb 16: Chapter 10 “Things”. Review of Chapter 8 assignments.
•W7 Feb 21: Chapter 11 “Letterbox”. Review of Chapter 9 assignments.
•W7 Feb 23: Chapter 12 “Closed Maps”. Review of Chapter 10 assignments.
•W8 Feb 28: Chapter 13 “Abstract Things”. Review of Chapter 11 assignments.
•W8 Mar 2: Chapter 14 “Hollywood”. Review of Chapter 12 assignments.
•W9 Mar 7: Chapter 15 “Bulletin Board”. Review of Chapter 13 assignments.
•W9 Mar 9: Chapter 16 “Introspective”. Review of Chapter 14 assignments.
•W10 Mar 14: Chapter 17 “Reflective”. Review of Chapter 15 assignments.
•W10 Mar 16: Chapter 18 “Aspects”. Review of Chapter 16 assignments.
•Finals Week. Final Project Due Mar 24 5pm
Grading
•Class participation (20%)
•Homeworks (50%)
•Final project (30%)
Attendance
I will permit two absences without penalty. Each additional absence will reduce your course grade by one letter grade.
Course Evaluations
The window for winter quarter online evaluations will be open near the end of the quarter. Once the dates for evaluations are known, this information will be posted here.
Cheating
The UCI academic honesty policy applies. Consequences of cheating in this class: a letter in your UCI file, and the course grade is lowered, most likely to F. Material that is copied from any source needs to be quoted and the source must be cited. If you plagiarize, you run the severe risk of failing the class, in a most disgraceful manner. All work should be assumed to be individual work (not group work) unless stated otherwise on the assignment.
Disabilities
If you need an accommodation because of a disability, please contact the instructor and the Disability Services Center as soon as possible.
Policies