**Students:** Please register at** http://www.piazza.com/utep/fall2012/cs3360 **using your utep.edu email address only.

**Course Description:** In this course we will study concepts and examples of programming languages with the goal of acquiring the tools necessary for critical evaluation and rapid mastery of programming languages and constructs.

**TA**. Angel Garcia, afgarciacontreras/miners…

His office hours are: Tuesdays and Fridays from 11 to 12:30.

**Textbook:** It is very important that ALL students have their textbook from Day1 of the semester.

- Robert W. Sebesta, “Concepts of Programming Languages”, 9th edition, Addison Wesley

**Exams:** 2 mid-term examinations and one comprehensive final exam; unannounced quizzes.

For more information, please download the syllabus here.

**SUMMARY OF IMPORTANT DATES:**

- First examination: October 15
- Second examination: TBA
- Final examination (comprehensive): Wednesday December 12 from 1pm to 3:45pm.

**ANNOUNCEMENTS:**

- Week 1: August 27th is our 1st day of classes!
- COURI program for UnderGraduate Research:

**WHAT TO EXPECT — some of this semester’s milestones:**

- Programming projects: 4 of them
- First programming project on OOP in Java, due September 11th: description and report template.
- Second programming project on AOP (AspectJ): description
- Third programming project on functional programming: description,
**EXTENDED DEADLINE: October 24 at 11:59pm!** - Fourth programming project on prolog: description, deadline: November 16 at 11:59pm.
- Fifth programming project on PHP: description, deadline: December 4 at 11:59pm; special rule for extra points: see piazza!

- First midterm exam on:
**October 15** - Second midterm exam: on
**December 3** - Final exam on
**December 12**

**MATERIAL:**

- CS3360 Syllabus
- Copy of the daily grading form
- Lecture notes on AOP and AspectJ, more information on piazza.com
- Good resource about Haskell (the programming language of programming project #3 and of the homework due after spring break)
- Logic programming project: we recommend you use SWI-Prolog
- Quizzes and solutions: quiz0, quiz1, quiz2, quiz2 solutions, quiz2.2

**ASSIGNMENTS:**

- Week 15: (december 3 and 5)
- Second examination on Monday

- Week 14: (november 26 and 28)
- Reading assignment on Sections 6.5, 6.6, 6.10, and 6.11 of textbook: quiz on reading on Monday
- Reading assignment: Chapter 9

- Week 13: (november 19 and 21)
- Homework due on Wednesday November 21 (via email to your TA): exercises 6, 8, 10 pp 241–244 Chapter 5 of textbook
- Quiz on Wednesday!
- Reading assignment: Chapter 9

- Week 12: (november 12 and 14)
- Prolog programming project due on Friday!
- Make-up quiz on Wednesday
- Intro to PHP on Wednesday

- Week 11: (november 5 and 7)
- Week 10: (october 29 and 31)
- Do the prolog exercises distributed in class
- Variables, type binding, storage binding
- Read Chapters 5, 6, and 16

- Week 9: (october 22 and 24)
- Introduction to variables
- Introduction to Prolog
**Reminder:**Project 4 is due on October 24. Exceptionally, projects turned in either Thursday or Friday by 11:59pm will only incur a penalty of 5 points. After that, the penalty will be back to usual: -10 points per extra day (starting Saturday morning)

- Week 8: (october 15 and 17)
- 1st examination on Monday
- Axiomatic semantics

- Week 7: (october 8 and 10)
- Review on Friday for the 1st examination

- Week 6: (october 1 and 3)
- Semantics

- Week 5:
- Read Chapter 15 on Functional Programming
- Monday: lab (bring your own laptop) and exercises on Haskell
- Wednesday: lecture about functional programming

- Week 4:
- Read Chapters 3 and 4
- Homework on AspectJ due Monday night (see piazza)

- Week 3:
- First programming assignment is due on Tuesday at 11:59pm.
- Read Chapter 4.
- slides of Monday’s presentation, slides corresponding to Wednesday’s lecture

- Week 2:
- Read Chapters 2 and 12 of the textbook for Monday.
- Read Chapter 3 of the textbook for Wednesday.

- Week 1:
- Read Chapters 1, 2, and 3 of textbook (quiz on chapters 1 and 2 soon)
- For those of you who did not attend Monday’s session: Read, print, sign, and turn in the course syllabus

*Note: More information (such as assignments, reminders for due dates, quizzes, exams) will be posted on this page as the semester goes.*