Evaluation (point values below are approximate):

Component Quantity Points per Total points
Homeworks (lowest dropped) 10 varies 650
Project/paper/presentation 1 100 100
Midterm (including quizzes) 1 160 160
Final exam (comprehensive) 1 90 90
Total:1,000
(Note: This is a brand new course and this is the first time it has been offered; thus, the course and the evaluation components and percentages above are approximate (i.e., they are emerging) and will evolve organically as we progress through the course and I have a more accurate understanding of the interests and aptitude of the students.)
Homeworks involve analytical and programming exercises. The programming involved requires a fair amount of critical thought and design, and approximately 100-500 lines of code. The majority of the assignments involve novel programming problems which explore the use of alternative language concepts in application areas such as numerical methods, artificial intelligence, and web interaction management. Some assignments also involve reading and critical analysis of articles in the current programming languages literature. Handwritten assignments are not accepted. Assignments are due at 5:05pm in class. Late assignments are not accepted. No exceptions. Examinations I and II as well as the final examination are in-class, closed-book, and closed-notes. Examination III is a take-home. Attendance is mandatory at all examinations; make-ups will not be given. Any missed examination will result in a zero. Make no assumptions about anything; always consult the instructor first. Final letter grades of A, A-, B+, B, B-, C+, C, C-, and D start approximately at 93, 90, 87, 83, 80, 77, 73, 70, and 60 percent, respectively. The lowest passing final average for students enrolled in CPS 592 is 73.

Workload: CPS 499/592 is a challenging course and moves at a very fast pace. Spending a minimum of 9 hours outside of class each week reading, studying, and programming is required. I advise you to see me to discuss any problems you may have before you are evaluated. Mastering the understanding and use of fundamental language concepts and alternative language features does not come easy, but does come with high reward. Programming languages are constantly evolving to meet the demands of the modern software development process and abilities of programmers and, as a result, widely used languages such as Ruby and Python, and even C++, now include support for many of the functional and dynamic languages features covered in this course.

Classroom policies: Students are expected to conduct themselves with professionalism and integrity. Keep cell phones and similar devices in a silent mode during class. The use of laptop computers and similar devices is not permitted in class.

Academic integrity: To achieve the course objectives, assignments must be a sole result of your individual work and must not be shared with classmates and must prepared in accordance with the University Honor Pledge (see below). Moreover, you may not plagiarize code from any textbooks, online resources, or other authors. Discussions among classmates must never include pending assignments. All questions and comments about a pending assignment must only be directed to the instructor and teaching assistants. Evidence indicating a violation of this policy will be handled according to the University Academic Honor Code and result in a doubly-weighted zero which will not be dropped (e.g., if the assignment is worth 100 points, you receive a 0/200). Make no assumptions about this policy; always consult the instructor first. No student should ever feel that they must resort to academic dishonesty. You are encouraged to consult the instructor if you are struggling with the course or an assignment. No grade is worth your integrity. Honesty in your academic work will develop into professional integrity. The faculty and students of the University of Dayton will not tolerate any form of academic dishonesty.

The Honor Pledge as listed in the Academic Honor Code section of the Undergraduate Issue of the Bulletin applies in full to this course. Graduate students and students enrolled in CPS 592 are governed by the Academic Dishonesty section of the Graduate Bulletin.

Honor code FAQ

  • Q: Can I work with another student on design as long as we code up our design individually?
    A: No. Design is as important, if not more, to the solution as implementation. Design and implementation must be a solely result of your individual work.

  • Q: I copied/used some code from a website or book or another resource. Is that okay?
    A: No.

  • Q: I copied/used some code from a website or book or another resource, but I cited the source. That's not plagiarism, right?
    A: In this class, copying/using code from any cited or uncited resource is not permitted, even if cited. You must write your own programs.

  • Q: But I wasn't sure that what I did was plagiarism or a violation of the honor code as applied to this class. Now I understand the honor code so I will not do it again.
    A: When in doubt, always contact the instructor for clarification first, before the assignment due date. The time to understand how the honor code applies to this class must be done before an assignment, not after. Ask the instructor, early and often.


Return Home