Syllabus for CSC-212

Joseph (Yosef/Yoseph) Mendelsohn, M.D.

Summary Of Course

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

  1. Writing Java programs with multiple classes
  2. Constructors (user defined and standard Java library)
  3. Visibility
  4. Static members
  5. Accessor and mutator methods
  6. Arrays of Objects
  7. Inheritance
  8. Polymorphism
  9. Interfaces
  10. Sorting arrays
  11. Exception handling
  12. Graphical interfaces
  13. 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 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 Information:

1.      Course Web Page:  http://condor.depaul.edu/ymendels/212  Nearly all course materials come can be found here.

2.      Course Online (COL) – see link at top of course web page. Both online and in-class students can view videos of the lectures here. However, it is extremely important for Distance Learning (DL) students. This is where DL students will:

1.      View the videos of their lectures

2.      Register for exams.

3.      Desire 2 Learn (D2L): This is where you will turn in your assignments. You do this by clicking on ‘Dropbox’.

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

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

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

 

The course web page:

Your one-stop-shop for this course. 

http://condor.depaul.edu/ymendels/212

 

         Assignments

         Course documents

         Example files

         Lecture notes (frequently PowerPoint slides)

         Assignments are submitted by logging into D2L

 

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.

 

 

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 can view the lectures.

 

https://col.cdm.depaul.edu

 

Login with your CampusConnect ID and password.

 

 

Office Hours:

·         See this page.

 

 

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

 

 

Software and other resources:  You will need to make use of several of the resources listed on this 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 the D2L Dropbox (log into D2L, select your course, click on ‘Dropbox’).

 

Assignments MUST be submitted by the due date and time. D2L will simply not accept late assignments. So please do not wait until the last minute! If your computer’s clock is slow, or if the internet goes down, you may miss the deadline.

 

The lowest assignment will be dropped. Unfortunately, this does NOT apply during summer quarters.

 

Assignments will be posted almost every week, starting this week.

 

Grading Policy

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

Assessment

Percentage

Assignments

65 %

 Midterm Exam  

15%

Final exam

20 %

 

During summer quarter, it will be 75% assignments and 25% final exam.

 

You must pass the final exam to pass the course.

Extra Credit assignments will not be given.

 

Grading Policy:

Points

Grade

Points

Grade

93 or above

A

73 – <77

C

90 – 92.9

A -

70 – <73

C -

87 – <90

B +

67 – <70

D +

83 – <87

B

60 – <67

D

80 – <83

B -

less than 60

F

77 – <80

C +

 

 

 

 

Assignments

There will be at least 7 (fewer 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 D2L  before the deadline.

Your lowest assignment score will be dropped in the calculation of your course grade. This does not apply during summer quarters.

Exams

The midterm (if given) 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. If you are relying too much on the assitance of others for assignments, you may find yourself in this category.  The answer is to make sure that you do not fall behind in the course. 

If you find yourself completely stuck (which is pretty likely to happen at least a couple of times in the course):

-          Review the lecture – including practicing with all of the examples. Don’t be afraid to go back and review topics that lead-in to the current topic either. (for example, if you’re struggling with arrays, you gotta start by making sure you’re comfortable with loops)

-          Read the book

-          Practice

-          See me / see tutors

-          Practice some more

This will allow you to get on track.  There will surely be times when you will feel lost.  When this happens, fight the desire to procrastinate and do other things. Instead, buckle down to meet the challenge. You can do it – really!!

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 Java Programming: From Problem Analysis to Program Design, 6th  Edition, by D. S. Malik, et al. I do NOT require you to have this text for the course. Any textbook or similar resource that works for you is fine with me – see below:

A few other textbooks that would work:

NOTE: This is not meant to be a comprehensive list! Go to your local bookstore and check out the books they have there. Any introductory Java book that feels most suited to your style of reading is going to be a good choice.

·         Java – How to Program by Deitel.  Amazon.com link here. The 7th edition is also fine. This is an excellent book with extremely detailed explanations. If you are the type that is good at reading and learning from textbooks, this would be a terrific choice.

·         Absolute Java – Savitch (link). I’m a fan. Pricey, but excellent choice for learning. Lots of little exercises. Recommend buying used—no need to spend on a new copy.

·         Core Java by Horstmann (link).  Cheaper than Deitel. Also quite a good choice. Not as detailed explanations which, for some, may be preferable.

·         Java, The Good Parts ($20 at Amazon). This book would be an excellent add-on for students who hope to become serious programmers.  It is NOT to be used as a primary textbook. Discusses several topics we cover in 212, but which some students may be interested in elaboration. If you’re intellectually curious about just why we use exceptions in Java (and how to use them properly) beyond our admittedly short discussion in this course, or exactly how garbage collection does its thing, or exactly what the difference is between an abstract class and an interface, this book explains these and other topics rather nicely. That being said, many of the details are probably a bit more subtle than is needed for the majority of students in this course.

 

Online texts through DePaul Library: There is a tremendous number of computer texts that you can view electronically through the DePaul Library. Definitely worth checking out. Link: DePaul Safari E-books.

Other resources you will need:

Obviously you will need to have downloaded and installed the JDK. In class I will use Textpad for our development. If you plan on continuing on with your programming, you may want to experiment with Eclipse, NetBeans or one of the Visual development environments. However, this is definitely not required for 212.

Liberal Studies

CSC 211 and 212 are approved for credit in the Scientific Inquiry Domain under the Elective area. Courses in the Scientific Inquiry Domain are designed to provide students with an opportunity to learn the methods of modern science and its impact in understanding the world around us. Courses in this domain are designed to help students develop a more complete perspective about science and the scientific process, including:

·         an understanding of the major principles guiding modern scientific thought

·         a comprehension of the varying approaches and aspects of science

·         an appreciation of the connection among the sciences and the fundamental role of mathematics in practicing science

·         an awareness of the roles and limitations of theories and models in interpreting, understanding, and predicting natural phenomena

·         a realization of how these theories and models change or are supplanted as our knowledge increases

 

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