Pages Menu
Chitu Okoli

DESC 391 Outline Fall 2009

DESC 391: Fundamentals of Object-Oriented Programming
Fall 2009

v Schedule v

Note: In the event of extraordinary circumstances beyond the University’s control, the content and/or evaluation scheme in this course is subject to change.

Classroom and times

MB Building room 12-314 (computer lab)
2:45 pm to 5:30 pm Wednesday


Chitu Okoli

(#1 way to reach me)


(514) 848-2424 x2985


MB 12-339 (12th floor of the JMSB Building)

Office hours

2:30 pm to 4:30 pm Monday, or by appointment

Required materials

  1. Murach’s Java SE 6. 2007. By Joel Murach and Andrea Steelman. Published by Mike Murach & Associates. ISBN 978-1-890774-42-4.
  2. i>clicker classroom response system.

You are required to purchase an i>clicker remote for in-class participation; the Concordia University Bookstore sells them (ask the information desk in the textbook section where to find it).  i>clicker is a response system that allows you to respond to questions I pose during class, and you will be graded on that feedback and/or your in-class participation.  In order to receive this credit, you will need to register your i>clicker remote online within the first two weeks of class. You must have come to class at least once and voted on at least one question in order to complete this registration properly. There are two different ways to register your i>clicker:

  1. In class (roll call): I will provide instructions on this method in class.
  2. Online (web): Go to Complete the fields with your first name, last name, student ID, and remote ID.  Your student ID should be your seven-digit Concordia Student ID. The remote ID is the series of numbers and sometimes letters found on the bottom of the back of your i>clicker remote.

i>clicker will be used every day in class, and you are responsible for bringing your remote daily, including the first day of class. After the semester is over, you should keep your i>clicker until you graduate. It is the officially supported brand of Concordia University. This means that you might need it for another class that requires clickers. It also means that when you graduate, you can easily sell it back either to the bookstore or to another student.

Course website and e-mail
  • The course website is
  • Grades will be posted via Moodle, which you can access through MyConcordia.
  • You will be expected to check your e-mail at least once every day, since this is the primary means of communication for this class. I will only e-mail the address I find in MyConcordia, so be sure to keep this address current. You are responsible to act on all communications sent to this e-mail address.
Computer labs Students who need to use a computer on-campus have access to the following labs for students:

  • Hall Building labs for all Concordia students. You may obtain a computer account code through MyConcordia.
  • CASA lab for JMSB students in Room S1-465 of the JMSB (MB) Building.


DESC 381

Course overview

This course introduces students to the object-oriented programming approach using a contemporary language and integrated development environment. This course covers objects, classes, inheritance, and class hierarchies. Using appropriate business examples, this course enables students to solve business problems using the fundamentals of object-oriented programming. Specifically, we will use the Java programming language to learn object-oriented programming concepts.

Learning outcomes

  1. Thoroughly understand key object-oriented programming concepts, such as objects, classes, inheritance, and class hierarchies.
  2. Be able to conceptualize problems and design their solutions employing the object-oriented paradigm.
  3. Obtain a functional, working knowledge of the Java programming language. This involves creating a complete software application in Java.
  4. Be able to design and implement graphical applications using Java.
  5. Be able to use the BlueJ integrated development environment to create object-oriented Java applications.

Teaching method

  • Lectures with exercises: I will cover important material from the textbook and other sources. As much as possible, there will be some in-class exercises that give you the opportunity to apply the concepts that you learn while I’m there to guide and assist you.
  • Clickers: I will use clickers intensively to give you an opportunity to learn actively and collaboratively with other classmates. Because this interaction is an important part of your learning, both individually and for the whole class, your participation in clicker activities will be graded.
  • Reading assignments and exercises: You are required to read the relevant chapters before class, as specified in the schedule. To encourage your preparedness, I will begin each class with a short, graded reading quiz. In addition, you are strongly encouraged to do the exercises in the textbook. Although these exercises will not be graded, if you don’t do them, you might not properly grasp the concepts and might not be prepared for the exams. I might assign additional helpful reading materials, such as tutorials.
  • Assignments: There will be four or five programming assignments designed to give you hands-on experience in creating Java applications. These will be done individually to assure your personal learning of the concepts.
  • Exams: The midterm and final exams will take place on the university premises. The final exam will not be cumulative. Before the exams, I will give clear details about their contents. The date and time for the final exam will be determined by the examination office.


This class will feature a lot of in-class discussion, largely assisted by clickers. You should come to class prepared by having read the assigned materials beforehand so that you can actively participate in stimulating, thoughtful discussion. I also encourage you to bring into the discussion anything you might have read, learned or experienced outside the materials for this class. I value a few thoughtful insights far more than frequent unreflective comments. Contribution to the class’s learning also means that you listen to what other students say, and you build on their comments so that our group discussion can have direction. Your clicker participation will be graded.


Clicker 10 %
Assignments 35 %
Midterm exam 25 %
Final exam 30 %
  100 %

Grading policy

Department of Decision Sciences and Management Information Systems grades are based on the official grading system described in the University Calendar as follows:

  • “A” is for outstanding performance, far above the average result
  • “B” is for very good performance, above the average result
  • “C” is for satisfactory performance, the average result
  • “D” is a marginal pass, below the average result
  • “F” is a failing grade, indicating inadequate and unacceptable results

There is no official “mark-to-grade equivalence scale”, e.g., that 50 is a “pass”, or that 50-52 is a “D-”. Faculty members individually or collectively decide what constitutes an “A”, “B”, “C”, etc.

Clicker grades

There are two components to your clicker grade, which together constitute 10% of the course grade:

  • Reading quizzes (5%): At the beginning of every class, there will be a few simple questions to make sure that you read the assigned reading before class. The reading quizzes must be done individually, closed book. You will be graded based on each correct answer. I will only count reading quizzes after the last day to add courses. The lowest two reading quiz scores (including absences) will be automatically dropped.
  • Clicker participation (5%): Throughout each class, I will ask questions to which you will respond with your clickers. These questions might be individual, done with partners, or with open textbook, unless I specify otherwise. For this component, you will be graded on your particpation; that is, you will get full points as long as you answer each question, regardless of your response. I will only count clicker participation after the last day to add courses. The lowest two participation days (including absences or forgotten clicker) will be automatically dropped.


There will be four homework assignments that will consist of practical exercises that will give you an opportunity to apply what you are learning. The individual assignments will range in value from 5% to 15% of the course grade, for a total of 35%. In addition, I might also assign some light non-graded exercises to further enhance your learning.

Late submissions: Assignments must be submitted at the beginning of class on the due date to be considered on time. Late submissions incur the following penalties: –10% if submitted more than 15 minutes after the start of the class; –20% if submitted after class on the same day due; and –10% for each day late after that. I accept e-mail submissions if I receive them before class starts; otherwise, they will be marked as late.


There will be one midterm and one final examination. The final exam will be cumulative, because programming languages are cumulative by their very nature. But the exam will focus on concepts learned after the midterm exam. The specific dates, times, and locations will be announced in class.

Important Note: In accordance with the DSMIS Department policy, your average on both exams together must be at least 50% to pass the course, regardless of your performance on the assignments.

Make-up policy

Midterm and final exam: Only students who miss an exam for university-approved and verifiable reasons will be allowed to take a make-up exam. Even then, except in the most extreme circumstances, no student may miss a scheduled exam without receiving permission before the administration of the exam. Make-up exams might be significantly different in format from the regular tests, and will be administered at a time of my own convenience.

Clicker quizzes and participation: There will be no make-ups for missed clicker quizzes and participation activities. However, the lowest two of each component will be automatically dropped. This gives allowance for circumstances such as unavoidable absences or forgotten clickers.

Attendance policy

Attendance is required for this class. You are expected to arrive and depart this class promptly at the scheduled time.

Academic honesty

The Code of Conduct (Academic) at Concordia University states that the "integrity of University academic life and of the degrees, diplomas and certificates the University confers is dependent upon the honesty and soundness of the instructor-student learning relationship and, in particular, that of the evaluation process. Therefore, for their part, all students are expected to be honest in all of their academic endeavours and relationships with the University." (Article 1)

All students enrolled at Concordia are expected to familiarize themselves with the contents of this Code. You are required to read Concordia University’s website on Academic Integrity, which provides useful information about proper academic conduct.

In addition, for all my classes, I require you to sign and submit an Academic Honour Pledge. I will not return any graded work to you in this class until I have received your signed Honour Pledge.

All assignments must be done individually. You are encouraged to refer to outside resources, but you are not permitted to copy-and-paste, and all sources used must be properly cited.

Clickers: Using clickers to earn points in any dishonest way constitutes academic dishonesty. This includes, but is not limited to, clicking for another student with their clicker, and cheating on a reading quiz that requires individual response with no book or notes.

Any violation of the Academic Code of Conduct will constitute academic dishonesty and will be handled through the appropriate university channels. If you have any question about what might be a violation of the Code, ask me directly and I will gladly clarify you. Thus, claiming to misunderstand is not an acceptable excuse.


  • It is the responsibility of the student who misses a class period to remain informed of the material covered in that period and to catch up and stay up-to-date.
  • Any changes to the tentative schedule will be announced in class. It is the responsibility of the student to remain informed of such changes.
Schedule (subject to change)
Date Topics Readings
September 9 Introduction to OOP, Java, and BlueJ Intro
Chapters 1 and 2
BlueJ Tutorial
September 16 Introduction to Java and working with data Chapters 2 and 3
September 23 Control statements and validating data Chapters 4 and 5
September 30 Classes Chapter 6
October 7 Inheritance Chapter 7
October 14 Interfaces Chapter 8
October 21 Arrays and collections Chapters 10 and 11
October 28 Midterm exam (changed from Oct. 21)
Chapters 2, 3, 4, 6, 7 and 8
November 4 Collections, dates and strings Chapters 11 and 12
November 11 GUI programming: Swing Chapter 15
November 18 GUI programming: controls and layout Chapter 16
November 25 GUI programming: Events and data validation Chapter 17
December 2 Text and binary files Chapter 19
TBA Final exam Chapters 10-12, 15-17, and 19





Post a Reply

Your email address will not be published. Required fields are marked *