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.