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:

  1. 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.

  2. Bring laptop computers to class to participate in programming and code review exercises.

  3. Purchase (within the first week of class) the required textbook: Exercises in Programming Style by Cristina Lopes

Schedule (Tentative)

  1. W1    Jan 10: Course Introduction

  2. W1    Jan 12: Chapter 1 “Good Old Times”

  3. W2    Jan 17: Chapter 2 “Go Forth”. Review of Chapter 1 assignments.

  4. W2    Jan 19: Chapter 3 “Monolithic”.

  5. W3    Jan 24: Chapter 4 “Cookbook”. Review of Chapter 2 assignments.

  6. W3    Jan 26: Class Cancelled.

  7. W4    Jan 31: Chapter 5 “Pipeline”. Review of Chapter 3 assignments.

  8. W4    Feb 2: Chapter 6 “Code Golf”. Review of Chapter 4 assignments.

  9. W5    Feb 7: Chapter 7 “Infinite Mirror”. Review of Chapter 5 assignments.

  10. W5    Feb 9: Chapter 8 “Kick Forward”. Review of Chapter 6 assignments.

  11. W6    Feb 14: Chapter 9 “The One”. Review of Chapter 7 assignments.

  12. W6    Feb 16: Chapter 10 “Things”. Review of Chapter 8 assignments.

  13. W7    Feb 21: Chapter 11 “Letterbox”. Review of Chapter 9 assignments.

  14. W7    Feb 23: Chapter 12 “Closed Maps”. Review of Chapter 10 assignments.

  15. W8    Feb 28: Chapter 13 “Abstract Things”. Review of Chapter 11 assignments.

  16. W8    Mar 2: Chapter 14 “Hollywood”. Review of Chapter 12 assignments.

  17. W9    Mar 7: Chapter 15 “Bulletin Board”. Review of Chapter 13 assignments.

  18. W9    Mar 9: Chapter 16 “Introspective”. Review of Chapter 14 assignments.

  19. W10    Mar 14: Chapter 17 “Reflective”. Review of Chapter 15 assignments.

  20. W10    Mar 16: Chapter 18 “Aspects”. Review of Chapter 16 assignments.

  21. Finals Week. Final Project Due Mar 24 5pm

Grading

  1. Class participation (20%)

  2. Homeworks (50%)

  3. 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