Syllabus for CSC-224

Joseph (Yosef) Mendelsohn, M.D.

Summary Of Course

This course teaches the basic concepts of programming using Java. Topics we will cover include:

  1. Basics of Java programming
  2. Standard input and output
  3. Using objects from pre-defined classes (e.g. String, Scanner, Math, Character)
  4. Variables, data types, and expressions
  5. Branching structures (e.g. if, if-else, switch)
  6. Looping structures (e.g. while, for, do-while)
  7. Writing methods
  8. Arrays
  9. Algorithms and problem solving
  10. Writing Java programs with multiple classes
  11. Constructors (user defined and standard Java library)
  12. Visibility
  13. Static members
  14. Accessor and mutator methods
  15. Arrays of Objects
  16. Inheritance
  17. Polymorphism
  18. Interfaces
  19. Sorting arrays
  20. Exception handling
  21. Graphical interfaces
  22. Algorithms and problem solving

At the end of this class you will be able to:

  • Design, implement, compile, debug, test and run software projects in Java, as solutions to problems involving primitive data types, arrays of primitive data types, branching and repetition structures.
  • Read input from the user and display output of your programs, using standard input and output with the Scanner class or using the JOptionPane class from the package javax.swing.*.
  • Access the standard Java API online documentation to gain information on classes and methods.
  • Write Java code that uses class (static) methods and passes parameters, both primitive data types and reference data types (objects).
  • Describe orally and in writing the scope of all the variables in a program and articulate the difference between class and method scope of variables.
  • Read provided documentation on objects of externally provided classes and then write Java code that successfully instantiates such objects and calls their methods.
  • Design, implement, compile, debug, test and run software projects in Java, as solutions to problems involving primitive data types, arrays of primitive data types, branching and repetition structures as discussed in intro to Java courses.  Increasing complexity of programs with multiple classes, graphical interfaces, exception handling.
  • Read input from the user and display output of your programs, using standard input and output with the Scanner class or using the JOptionPane class from the package javax.swing.* and advancing to graphical interfaces.
  • Access the standard Java API online documentation to gain information on classes and methods.
  • Read provided documentation on objects of externally provided classes and then write Java code that successfully instantiates such objects and calls their methods.

 

********************************************** **********************************************

Course Resources:

1.      Course web page:  http://www.depaul.edu/~ymendels/224  Nearly all course materials come can be found here. The only exception is homework submissions, which are via course online (COL).

2.      Course Online (COL) – see link at top of course web page

3.      Office Hours (see below for times & locations)

4.      Tutoring – see link at top of course web page

5.      Discussion Group – will be used only in courses that include a DL section. Asccessed via COL

6.      Software resources and useful websites:  See ‘Resources’ from the course web page

 

1.  The course web page:

Your one-stop-shop for this course. 

http://www.depaul.edu/~ymendels/224

 

         Announcements

         Assignments

         Course documents

         Example web pages

         Lecture notes (frequently PowerPoint slides)

         Assignments are submitted via COL (Course Online)

 

Lecture notes:  Notes and files for each lecture will be posted at least one day before lecture.  However, please note that I reserve the right to make updates at any time. I would recommend that you print out the lecture slides (if you choose to) no earlier than the day before lecture.  They will typically be in Powerpoint format. If you don’t have PowerPoint, you can download a free viewer here.

 

 

2.  What is Course Online (COL)?

COL is the method by which Distance Learning (DL) students take the course. However, it is also an important resource for in-class students as this is where you will be sumitting your assignments.

 

COL is used to:

1.      View the lectures for DL students (sometimes available to in-class students as well) 

2.      Submit assignments

3.      Receive grades and grader feedback

4.      Engage in discussion groups

 

https://col.cdm.depaul.edu

 

Login with your CampusConnect ID and password.

 

 

3. Office Hours:

·         See this page.

 

4. Tutoring:  Free – make use of it!  See link to the tutoring page at the top of the course web page.

 

5. Software and other resources:  You will need to make use of several of the resources listed available on the class page.

********************************************** **********************************************

 

Contacting me:

E-Mail:  JosephMendelsohn@gmail.com 

I will be much more willing to go over code, assignments, etc during office hours than via e-mail.  I will try to answer specific questions, but will not simply debug code via e-mail.  Though I try to check e-mail frequently, I am not always able to do so.

 

I will make every effort to ensure that distance learning (DL) students receive prompt replies to email.

 

When e-mailing me, it is very important that you include your name and section number (not course number) in the subject. I have a pretty good spam-filter on my e-mail, so if you don’t do this, your e-mail may well end up missed in my spam folder.

Eg:  Subject: Jon Stewart, 702, question on assignment #2

 

 

Assignments:

All assignments are submitted via Course Online (see above).

All assignments are due 10 minutes before class time.

 

Assignments will be posted almost every week, starting this week, and are due 10 minutes before class time.

Again, assignments will be submitted via COL.  (See link at top of course web page).

 

Grading Policy

Course assessments include in-class activities, weekly programming assignments, a midterm (possibly), and a final. The course grade will be computed as follows:

Assessment

Percentage

Assignments

70 %

Midterm exam

10 %

Final exam

20 %

 

If there is no midterm exam, the breakdown will be:  Assignments 80%, final 20%.

 

Grading Scale:

Points

Grade

Points

Grade

93 or above

A

73 – 76.9

C

90 – 92.9

A -

70 – 72.9

C -

87 – 89.9

B +

67 – 69.9

D +

83 – 86.9

B

60 – 66.9

D

80 – 82.9

B -

less than 60

F

77 – 79.9

C +

 

 

 

 

Assignments

There will be at least 7 (may change for summer sessions) programming assignments/projects with a specified deadline and point allotment. These assignments will be programming projects of increasing difficulty and time commitment as the quarter progresses. To get full credit, each assignment must:

  • Fulfill all of the required specifications listed in the assignment
  • Be free of compilation and run-time errors
  • Be written according to the coding guidelines we adopt in the course
  • Be submitted through COL before the deadline, which is typically ten minutes before class time begins.

Your lowest assignment score will be dropped in the calculation of your course grade.

Exams

The midterm and final will be cumulative. As a rule, make-up exams will not be given. If you wish to petition for a make-up exam, you must notify me in advance and provide documented evidence of the emergency that will cause you to miss the exam. Failure to contact me in advance of the exam date and time disqualifies you from being allowed to take a make-up exam. If a make-up exam is granted, it will be of a form of my choosing. You must earn a passing grade on the final exam to pass the course.

Course calendar

Please review the academic calendar (see link at top of course web page) for important dates such as last day to withdraw from a class with tuition reimbursement, etc. 

Textbooks and Printed Resources

The textbook for the course is ‘Big Java’ by Horstmann et al, 2010. ISBN: 978-0470509487. You are NOT required to have this particular textbook. However, you must have a textbook or equivalent resource during the course.  Be sure that the book was published within the last 2-3 years (2008 or beyond).  Viable options include Teach Yourself Java, ‘Thinking in Java’, ‘Core Java’ but again, any similar book will do.

Tools/software

Installing the Java Developer’s Kit (JDK) and Textpad

The first day of class you will be given instructions on how to download and install a working set up for the JDK (Java Developer's Kit) on your personal machine, if you own one.

In class I will use an integrated development environment (IDE) called Textpad. You will be given instructions on how to download and install this tool for your home machine, if you have one.  Some students may experiment with Eclipse or NetBeans. Both are fine with me although I am not very familiar with these environements, so may not be of use in troubleshooting if you run into problems.  For most students, I would recommend using Textpad.

Course web site

Assignments, lab exercises, lecture notes, study guides for exams, and other course materials will be available on my course web page.

However, assignments will be submitted via course online: https://col.cdm.depaul.edu

Online Instructor Evaluation

Course and instructor evaluations are critical for maintaining and improving course quality. To make evaluations as meaningful as possible, we need 100% student participation. Therefore, participation in the School’s web-based academic administration initiative during the eighth and ninth week of this course is a requirement of this course. Failure to participate in this process will result in a grade of incomplete for the course. This incomplete will be automatically removed within seven weeks after the end of the course and replaced by the grade you would have received if you had fulfilled this requirement.

Email

Email is the primary means of communication between faculty and students enrolled in this course outside of class time. Students should be sure their email listed under "demographic information" at http://campusconnect.depaul.edu is correct.

Academic Integrity Policy

This course will be subject to the faculty council rules on the Academic Integrity Policy

Plagiarism

The university and school policy on plagiarism can be summarized as follows: Students in this course, as well as all other courses in which independent research or writing play a vital part in the course requirements, should be aware of the strong sanctions that can be imposed against someone guilty of plagiarism. If proven, a charge of plagiarism could result in an automatic F in the course and possible expulsion. The strongest of sanctions will be imposed on anyone who submits as his/her own work a report, examination paper, computer file, lab report, or other assignment which has been prepared by someone else. If you have any questions or doubts about what plagiarism entails or how to properly acknowledge source materials be sure to consult the instructor.

Incomplete

An incomplete grade is given only for an exceptional reason such as a death in the family, a serious illness, etc. Any such reason must be documented. Any incomplete request must be made at least two weeks before the final, and approved by the Dean of the College of Computing and Digital Media. Any consequences resulting from a poor grade for the course will not be considered as valid reasons for such a request.

Disabled Student Resources

Students who feel they may need an accommodation based on the impact of a disability should contact the instructor privately to discuss their specific needs. All discussions will remain confidential.

To ensure that you receive the most appropriate accommodation based on your needs, contact the instructor as early as possible in the quarter (preferably within the first week of class), and make sure that you have contacted either:

  • PLuS Program (for LD, AD/HD) at 773-325-4239 in SAC 220
  • The Office for Students with Disabilities (for all other disabilities) at 773-325-7290 Student Center 307