CS 360, Programming Language Concepts, Winter 2014

Krzysztof Nowak
e-mail: kn33@drexel.edu
Office Hours: Monday, Wednesday, Friday 1:00 pm - 1:50 pm, University Crossings 109

Teaching Assistant
Alberto Uriarte
e-mail: au49@drexel.edu
Office Hours: Tuesday 10 am - 12 pm, University Crossings 147
Alberto’s website
Contains Alberto’s presentations on programming languages of CS 360, and explanations how to run programs written in these languages on tux. It also contains directions on how to access lab files:

Help in the Cyber Learning Center
Click on the provided link and then select class CS 360: CLC help

Course Materials

Syllabus, Reading Schedule, Lectures: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16

Programming Assignments: #1 (originally due midnight 02/05/14, postponed till midnight 02/11/14), #2 (due midnight 02/19/14), #3 (due midnight 03/05/14), #4 (due midnight 03/19/14)

Course Resources
Scheme: http://groups.csail.mit.edu/mac/projects/scheme/ & http://www.gnu.org/software/mit-scheme/
Scheme reference: http://people.csail.mit.edu/jaffer/r5rs_toc.html
Scheme lookup:

: http://www.smlnj.org/

ML tutorial: http://homepages.inf.ed.ac.uk/stg/NOTES/

: http://www.haskell.org/haskellwiki/Haskell

Haskell tutorial: http://www.haskell.org/tutorial/

Prolog: http://www.gprolog.org/

Prolog tutorial: https://www.csupomona.edu/~jrfisher/www/prolog_tutorial/contents.html


Python: http://www.python.org/
Python tutorial: http://docs.python.org/2/tutorial/index.html
Python language reference (describes the exact syntax and semantics of Python): http://docs.python.org/2/reference/index.html
Python standard library (describes the library distributed with Python): http://docs.python.org/2/library/index.html


Past Items
Test 1, Quizzes 1-2, Labs 1-2, Homework Assignments 1-3
Test 2, Quizzes 3-5, Labs 3-4, Homework Assignments 4-7


Tests, quizzes, labs and the final exam will be open book. You will be allowed to use the textbook, lecture materials, and all other resources available through course website. 

PA extra credit (counts in terms of the total number of points for PA 1-4): the range [400,450] counts for A+, the range (450,500] counts for A++ 

Student groups for PA 4
Student e-mail addresses

Programming Assignment 4: the timeline of group work
1. Wednesday week 9: group leaders fill in and e-mail the initial leaders report (only groups consisting of at least two students) to the instructor.
2. Monday week 10 - Monday week 11: group leaders collect the outcomes of the work of group members, combine all ingredients together and redistribute to group members for reevaluation, and in order to get their approval for submission.
3. Wednesday week 11: Students submit by e-mail the completion assessment report to the instructor. Group leaders submit compressed files containing completed programming assignments following the submission guidelines.

Final Exam, Quiz 6, Labs 5-6, Homework Assignment 8
SICP: Harold Abelson, Gerald J. Sussman, Julie Sussman, Structure and Interpretation of Computer Programs
A link to the textbook is provided inside the syllabus.

Lab 5, 02/27/14, intro to PA 3

Homework Assignment 8 due in class on 03/04/14
Textbook problems: 7.2, 7.8, 7.10, 7.18 (C++ and Java)

Quiz 6, 03/04/14, covers 7.1-7.5 & lecture 12

Practice problems: (textbook: 7.1 (C,C++ and Java), 7.6, 7.7, 7.12, 7.14-7.15, 7.17 (C++ and Java), 7.21 )

Lab 6, 03/13/14, intro to PA 4

Final Exam, Wednesday 03/19/14, 3:30 pm – 5:30 pm, PISB 104, covers 2.1-2.7, 3.1-3.6, 4.1-4.6, 6.1-6.8, 7.1-7.5, 12.1-12.2 & lectures 1-16
Practice problems related to 12.1.-12.2: (textbook: 12.4, 12.7-12.8, 12.10, 12.12, 12.14, 12.16, 12.18 (a))
Getting ready to Final Exam: Review carefully all practice, homework, quiz, lab, and test problems.