CSE 114 Back to CSE Courses

Course CSE114
Title Computer Science I
Credits 4
Course Coordinator Rob Kelly
Current Catalog Description

An introduction to procedural and object-oriented programming methodology. Topics include program structure, conditional and iterative programming, procedures, arrays and records, object classes, encapsulation, information hiding, inheritance, polymorphism, file I/O, and exceptions. Software debugging and testing techniques are emphasized. Includes required laboratory.

Prerequisite

Prerequisites: Level 4 or higher on the math placement exam
Advisory Prerequisite: CSE 110

Course Outcomes
  • An ability to program in an object oriented language, using concepts such as object classes, encapsulation, inheritance, and polymorphism.
  • An ability to use fundamental data structures such as arrays..
  • An ability to program with sound code structure and use systematic software debugging and testing techniques.
Textbook Y. Daniel Liang, Introduction to Java Programming: Brief Version, 8th Edition, Prentice Hall, ISBN: 978-0-13-213079-0
Major Topics Covered in Course
  • Introduction to Objects in Java, using predefined objects (e.g. String)
  • Review of program control statements: conditionals and loops with an introduction to formal methods (preconditions, post conditions, loop invariant)
  • Writing more complex classes.
  • Arrays and the ArrayList class.
  • Inheritance and polymorphism in Java, simple examples, the Java class hierarchy.
  • Exceptions and File I/O.
  • Introduction to graphical user interface components.
  • Recursive programming, basic examples (factorial, Fibonacci numbers, Towers of Hanoi, etc...)
  • Documenting sources of code, effects of software piracy on business and individuals
Laboratory Projects Each lab is run in a closed setting, where students must hand in a solution at the end of the lab.
Course Webpage /~cse114
Department of Computer Science • Stony Brook University, Stony Brook, NY 11794-4400 • 631-632-8470 or 631-632-8471