Fall 14 CSC 502 Foundational Concepts of Computer Science II

Reading/Homework Assignments

Homework 1
Homework 2
Homework 3
Homework 4
Homework 5

Study Guides

Quiz 1 Study Guide
Midterm Study Guide
Week 6 Quiz Study Guide
Week 8 Test Study Guide

Resources and Examples

Java FX Application Example
Pizza Web App

Course Description

CSC 502 Foundational Concepts of Computer Science II (3.00)

This course, intended for students with prior programming experience, covers basic computer architecture, formal logic, and advanced programming topics including web-oriented programming in the Java language, object construction, inheritance and polymorphism, the Java API, and advanced GUI programming. Extensive programming is required. Prerequisite: CSC 501 or instructor consent.

Instructor Accessibility

My office is in Carnegie Hall 311 B. You can stop by in person, or call my office at 630-637-5174. If I am not at the office and you need immediate attention, you can call me at home at 630-759-2110. You can email me at gcmuganda@noctrl.edu. Fall term office hours are Mondays and Wednesdays 5:00- 6:00 pm; Tuesdays and Thursdays 4:30-6:00 pm.

I can also see you by appointment.

Course Textbooks

The class textbook is Herbert Schildt, Java: The Complete Reference, Ninth Edition

Course Outline

Week Course Topics Chapters
1 Review of key concepts of Object-Oriented Programming: classes, interfaces, inheritance, polymorphism, anonymous inner classes, lambda expressions 5-10
2 JavaFX GUI Programming 35-36
3 JavaFX GUI Programming 35-36
4 JavaFX GUI Programming 35-36
5 Java Collections 18
6 The Java util Streams API 29
7 Exceptions and Advanced I/0 10, 20, 21
8 Basic Computer Organization
9 Formal Logic
10 Introduction to Web Applications 38

Schedule of In-class Quizzes and Tests

Class Event Date Percent Weight
Quiz 1 Wednesday Sept 24 5%
Test 1 Wednesday Oct 8 12.5%
Quiz 2 Wednesday Oct 15 5%
Quiz 3 Wednesday Oct 29 5%
Test 2 Wednesday Nov 5 12.5%
Quiz 4 Wednesday Nov 12 5%
Final Exam Monday Nov 24 20%

In addition to the tests, there will be a number of homework/ programming assignments. These will will count for 35% of the course grade. They will be designed to help you understand course concepts and prepare you for the in-class quizzes and tests. Some of the tests and quizzes will involve writing short programs based on the concepts covered in lectures and in the programming assignments.

Email Communication

All assignments and projects must be submitted via email using your College email account. and must have a subject that begins with CSC 502 Submission, followed by the assignment or project being submitted. For example, CSC 502 Submission of Project 1, or CSC 502 Submission of Homework 3. When asking a question or requesting help via email, your subject must begin with CSC 501 Help: ...

Late Policy

All assignments and projects should be turned in by midnight on the day due. A 10% penalty will be assessed on projects turned in late, but in general this penalty will not be levied if the assignment is turned in before I have completed grading the batch of assignments to which it belongs. No assignment/project turned in after the due date for the next assignment/project will be graded. I will make an exception to this rule for students who have been coming to see me for help, where I judge that the student is reasonably close to getting the assignment or project done.

Policy on Missed Quizzes and Tests

In-class tests and quizzes missed without a legitimate excuse cannot be made up. If you have to miss quiz or test (for some legitimate reason) please let me know at least a week before and I will make arrangements for a make up. In the event some unexpected reason beyond your control prevents you from being in class on the day of a test, contact me as soon as possible by phone or email to arrange a make up.

Ethics Policy / Academic Dishonesty.

Students may discuss the assignments and projects with other students, as long as such discussions result in a transfer of understanding rather than a transfer of code. Except on the designated team project, students should not write their code together. I reserve the right to require a conference with any group of students whenever I notice suspicious similarities in their code. Code is suspiciously similar when it is the same except for renaming of identifiers and/or trivial rearrangements of code. Under these circumstances, I will ask students to explain the meaning of the code, and to write code to solve a different but similar problem in my presence. Unethical collaboration will be established if such a student fails to explain the submitted code, or to solve the similar problem. If unethical collaboration is established, the students involved will receive a mark of zero for the assignment or project, and will be reported to the dean.