For meeting times and location, office hours, and contact information, please visit http://www.sjsu.edu/faculty/cay.horstmann.
The calendar is subject to frequent change; visit it before each class meeting.
The course goal is to study programming language design, with an emphasis on the functional paradigm.
Topics covered:
For the official catalog description, please visit http://info.sjsu.edu/web-dbgen/catalog/departments/CS-courses.html.
Why take this course? Programming languages are once again a hot topic. Traditional languages such as C++ and Java have serious limitations, and their users have become restless. Have a look at dzone.com and observe how many blogs are about Scala, Groovy, Ruby, and other emerging languages. You will learn about programming paradigms other than the familiar object-oriented programming, how programming languages are implemented, and how future programming languages can rise to the challenge posed by the end of Moore's law.
CS 46B and CS151. If you are registered for the class, you must email me your answers to the prerequisite quiz by 23:59 of the day indicated in the schedule, or I will drop you from the class for failure to fulfill the prerequisites.
Specifically, the following skills are assumed:
There is no required text.
Upon completion of this course, the successful student will be able to
Exams are curved and given letter grades with + or -. Each graded task (assignment, project, etc.) is graded as a letter grade, using the following scale.
A = all (or almost all) of the task solved and delivered in a professional
manner
B = most of the task solved, but at least one key issue missing, or significant
issues with delivery
C = some of the task solved, with at least half of the key issues resolved, but
at least two key issues missing
D = a solution has been attempted, with at least one but but less than half of
the key issues resolved
F = no solution has been attempted, or the attempted solution did not resolve
any of the key issues of the task
Letter grades are converted into number grades and weighted with the percentages given in the Course Requirements section. The weighted average is rounded towards the nearest letter grade, which is your class grade.
Add Policy: To add the course, you must submit your solution to the prerequisite quiz, I will randomly choose among add requests that I receive up to the start of add request processing (see the calendar below), and in the order of receipt thereafter. If there is space, I will reply to your email with an add code. You must use your add code within 48 hours and email me to confirm that you added the class, or the add code will be reassigned to someone else.
eCampus System: You will submit labs, homework assignments,
and exams into the eCampus system.
Your login is your student ID and your initial password is fall
(please change immediately).
Copyright of Materials: All materials created by the instructor for this course, including lectures, handouts, homeworks, exams, solutions, projects, and so on, are copyrighted property of the instructor. You may transscribe or record lectures or copy course materials for the use of yourself and other students registered in this course. You may not sell or give transscriptions or recordings of lectures or copies of course materials to others without the prior written consent of the instructor.