IUPUI School of Engineering and Technology

IUPUI School of Engineering and Technology

Java Programming

CIT 27000 / 3 Cr. (3 Class)

This course is an introduction to the Java programming language. Students will learn the syntax of the language, how to use objects, classes, and methods, and will perform programming exercises that illustrate how Java is used in stand-alone applications and applets.

  • JDK Java 2

Course Outcomes (What are these?)

  • Apply problem-solving techniques in designing computer applications (CIT c)
  • Use control structures correctly (CIT c)
  • Successfully create programs using the Java development environment (CIT i)
  • Explain and use object-oriented terminology (CIT b)
  • Apply object-oriented modeling and design elements in the creation of computer programs (CIT k, j)

CIT Student Outcomes (What are these?)

(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.

(i) An ability to use current techniques, skills, and tools necessary for computing practice.

(j) An ability to use and apply current technical concepts and practices in the core information technologies.

(k) An ability to identify and analyze user needs and take them into account in the selection, creation, evaluation and administration of computer-based systems.

  • Introduction to Java
  • Java Language Basics
  • Algorithmic Programming
  • Object Oriented Programming (OOP) Concepts
  • Java GUI (Graphical User Interface) Components
Principles of Undergraduate Learning (PULs)

1b. Identify and propose solutions for problems using quantitative tools and reasoning.

1c. Make effective use of information resources and technology.

2. Critical Thinking

3. Integration and Application of Knowledge

4. Intellectual Depth, Breadth, and Adaptiveness

What You Will Learn

Introduction to Java

  • Use a text editor to create Java source code
  • Use the Java 2 SDK platform to compile and run Java programs
  • Create stand alone applications using standard input and output objects
  • Explain the difference between procedural and object-oriented programming
  • Differentiate between Java applications and applets 

Java Language Basics

  • Identify Java data types and declare variables of different data types
  • Explain the difference between variable initialization and assignment
  • Use operators and expressions in your program
  • Evaluate an expression based on operator precedence
  • Use if/then/else and switch decision structures correctly in your program
  • Utilize measured and unmeasured loops appropriately in problem solving
  • Declare and use arrays to store and retrieve data from memory
  • Create user defined methods to perform various tasks in your program
  • Define methods by demonstrating passing parameters between methods
  • Demonstrate how to pass primitive data and class objects as parameters to a method
  • Use try/catch blocks correctly to handle exceptions
  • Perform debugging by printing variables' value

Algorithmic Programming

  • Design an algorithm to solve a problem and transform the algorithm into a Java program
  • Write Java programs that accept user input and require mathematical computation
  • Utilize  decision structures and loops efficiently in method writing
  • Read simple data from an input file and write program output into an output file
  • Execute search and sort routines
  • Design recursive programming to solve problems effectively 

Object Oriented Programming (OOP) Concepts

  • Define key concepts of OOP: encapsulation and data hiding
  • Create user-defined classes and distinguish between member/instance variables and operations
  • Use private, protected, public, and static members of a class correctly
  • Define constructors of a class to initialize member variables
  • Explain the difference between a class and an object
  • Explain inheritance and create classes following subclass and super class relationship
  • Design abstract classes and implement interfaces in problem solving
  • Explore polymorphism and utilize it in abstract class design

Java GUI (Graphical User Interface)  Components

  • Create interactive desktop GUI applications and applets using Java
  • Create text boxes, label, command buttons, option buttons, combo boxes, and check boxes in GUI design
  • Learn how to create and use menus and toolbars for a GUI application
  • Convert an GUI application into an applet
  • Use simple graphics effectively in applet using Graphics class
  • Define and discuss the use of  various swing objects
  • Implement event handlers to handle keyboard and mouse events