CS 116
OBJECT ORIENTED PROGRAMMING II
SYLLABUS AND COURSE INFORMATION

LINKS
 

HOME
SCHEDULE OF LECTURES
/EXAMS/LABS/PROJECT
 
COURSE SYLLABUS
OTHER INFORMATION
 
BLACKBOARD
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Current Catalog Description: Introduces the use of a high-level object-oriented programming language as a problem-solving tool - including basic data structures and algorithms, object-oriented programming techniques, and software documentation. Designed for students who have had little or no prior experience with computer programming. For students in CS and CS related degree programs. (2-1-2)

COURSE GOALS:

Students should be able to:

  • CS 116 Course Outcomes:
      1. Analyze and explain the behavior of simple programs involving the following fundamental programming constructs: assignment, I/O (including file I/O), selection, iteration, methods
      2. Write a program that uses each of the following fundamental programming constructs: assignment, I/O (including file I/O), selection, iteration, methods
      3. Break a problem into logical pieces that can be solved (programmed) independently.
      4. Develop, and analyze, algorithms for solving simple problems.
      5. Use a suitable programming language, and development environment, to implement, test, and debug algorithms for solving simple problems.
      6. Write programs that use each of the following data structures (and describe how they are represented in memory): strings, arrays.
      7. Explain the basics of the concept of recursion.
      8. Write, test, and debug simple recursive functions and procedures.
      9. Explain and apply object-oriented design and testing involving the following concepts: data abstraction, encapsulation, information hiding, inheritance, polymorphism.
      10. Use a development environment to design, code, test, and debug simple programs, including multi-file source projects, in an object-oriented programming language.
      11. Implement basic error handling.
      12. Solve problems by creating and using sequential search, binary search, and quadratic sorting algorithms (selection, insertion).
      13. Determine the time complexity of simple algorithms.
      14. Apply appropriate problem-solving strategies.
      15. Use APIs (Application Programmer Interfaces) and design/program APIs
  • CS 116 Program Outcomes
      a. An ability to apply knowledge of computing and mathematics appropriate to the discipline.
      b. An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.
      c. An ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs.
      d. An ability to use current techniques, skills, and tools necessary for computing practices.
  • Textbook: "JAVA ILLUMINATED" BY ANDERSON AND FRANCESCHI (THIRD EDITION)/ JONES AND BARTLETT PUBLISHERS

    Computing Resources:

  • The java compiler of choice is Oracles’s J2SDK 1.6 AND UP
  • There are a couple of environments that can be used for editing a program:Notepad++ or EditPlus
    • Eclipse is another environment but it is not recommended for this course. For those who would like to play around with Eclipse, it can be downloaded from  http://www.eclipse.org/downloads/
    • Note: Eclipse is an IBM product and uses an IBM design of the java virtual machine (JVM) which is mostly the same with Sun 's version but not 100% the same. Some programs compiled using Eclipse's compiler would not work with Sun's JVM. In addition eclipse produces code automatically and that defeats teh purpose or learning how to write your own code.
    Notepad++ is available in the laboratories in room SB108 and in room 112JSB
  • Lectures: Meetings consist of lecture, discussion, problem solving, presentation of execrise solutions and exams. Pre-reading of the textbook and regular class attendance is essential and students are expected to be prepared and to actively participate in class activities. Soemtimes lectures will take place in part of the Laboratory dedicated time if circumstances require so.

  • Exercises: During the lecture you will have to do exercises which the TAs present and the instructor in class will help you with. The exercises are available on the course' s web site. You are responsible for downloading them. You can work in advanced of the lecture on the exercises, if you wish so, and thus be ready during the lecture. You will have a limited amount of time to do the exercises during the lecture when the instructors gives you the queue (usually 15-20 minutes). Participation is important in getting the credit for the exercises. You must ask questions of the instructor or the TA. Getting the correct result is not a simportant as the participation aspect.

  • Laboratories: The labs are designed to assist you in developing a more concrete understanding of the concepts introduced in lecture. They also serve as a springboard for the programming project that you create later in the semester. You are required to attend each lab session. Your work is graded during your scheduled lab session. The labs for this class are designed to give you practical experience with the material discussed in lecture.They are NOT intended to produce a high-pressure environment. You should have your weekly assignment available at the beginning of each lab. All lab problems must be completed in the allotted time.

  • Communication is critical to the success and satisfaction of the learning experience. Please take advantage of myself, my posted office hours, e-mail and phone numbers to communicate any class issues with me.

    Copyright CS, Illinois Institute of Technology, 2015- George Koutsogiannakis