|
Instructor: Dr. Mircea Nicolescu | ||||||||
|
||||||||
Teaching Assistant: Shuvo Kumar Paul | ||||||||
|
||||||||
Lectures |
||||||||
Tuesday, Thursday: 9am-10:15am, WPEB 130 | ||||||||
Required Textbook |
||||||||
Programming Language Pragmatics, by Michael L. Scott, Morgan Kaufmann Press, 2015. |
Course Description |
The course examines the fundamental principles at work in the most important programming languages, highlights the critical relationship between language design and language implementation, and devotes special attention to issues of importance to the expert programmer. The focus of the course will always be on the concepts of programming languages, while the specific languages discussed are only present to support these concepts. Students should emerge better prepared to choose the best language for particular projects, to understand and make more effective use of languages they already know, and to learn new languages quickly and completely. |
Prerequisites |
CS 302 (Data Structures). Good knowledge of at least one programming language (such as C++) and familiarity with data structures (such as linked lists and trees) are required. |
Topics |
||||||||||||||||||||||||||||||||||||||||||||||||
Following are the topics that will be covered during the course, not necessarily in the order they will be discussed: | ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
Assignments, Examinations and Grading |
||||||||||||||||||||||||||||||||||||||||||||||||
Homework assignments: There will be a number of homework assignments, some of which will include programming. The homework assignments and their due dates will be posted on the course web page. Homework assignments are due on the specified date at the beginning of the class. Exams: There will be one midterm exam and one final exam. Both exams will be closed books, closed notes. Class participation: The student grade includes a component for participation in class discussions. This will be evaluated according to the instructor's observations during the semester.
Grading structure: The final score will be computed as follows:
Letter grades: The letter grade will be computed as follows.
Some upward adjustment may occur, but do not count on it.
Late submissions and make-up exams policy: No late assignments will be accepted. Permissions to take exams on other dates than scheduled will not be given, except for extreme medical emergencies. Academic dishonesty: Students are encouraged to study together, however each student must individually prepare his/her solutions. Cheating, plagiarism or otherwise obtaining grades under false pretenses constitute academic dishonesty according to the code of this university. Academic dishonesty will not be tolerated and penalties can include canceling a student's enrollment without a grade, giving an F for the course or for the assignment. For more details, see the University of Nevada, Reno General Catalog. |
References |
The required textbook discusses general underlying concepts in programming languages design and implementation, while using various languages to illustrate these concepts. However, some programming languages will receive more attention during this course - the following references provide more in-depth information on these languages. |
|
Class Schedule |
The topics presented and the lecture notes for each class will gradually be posted below as we cover them in the class. The assignments and their due dates will also be posted in this table. Please check this web page regularly for updates. |
Date | Topic | Notes | Readings | Assignments |
Announcements |
Announcements regarding the assignments or other updates will be posted on the class web page, so please check it regularly. Also make sure to check your UNR e-mail account, as this is the address that will be used to contact you. |
|
Created by: Mircea NICOLESCU (e-mail:mircea@cse.unr.edu) |