Jul 05, 2025  
2025 - 2026 Cowley College Academic Catalog 

CIS1844 - JAVA PROGRAMMING
4 Credit Hours

Student Level:

This course is open to students on the college level in either the Freshman or Sophomore year.

Catalog Description:

CIS1844 - JAVA PROGRAMMING (4 hrs.)

An introductory course to give computer science majors an introduction to programming in Java. Applications will be created using a structured programming approach. Object oriented topics will be covered. Various problems will be solved using Java.

Course Classification: Lecture

Prerequisites:

NONE

Co-requisites:

NONE

Controlling Purpose:

This course is offered to teach programming skills in Java to students.  The basic constructs learned in this course will apply to any programming language (with slight modifications). 

Learner Outcomes:

Upon completion of this course, the student should be able  

1.Explain key programming concepts such as variables, data types, control structures, functions, arrays.

2.Design and implement basic algorithms for solving common computational problems. Students will be able to write, test, and debug programs using appropriate syntax and best practices in a programming language (e.g., Python, Java, C++).

3.Demonstrate proficiency in using conditional statements (if-else) and loops (for, while) to control program flow.

4.Demonstrate proficiency in using conditional statements (if-else) and loops (for, while) to control program flow.

5.Create and use functions to organize and modularize code, applying principles of reusability and abstraction.

6.Write programs that handle basic user input and display output, including file I/O operations.

7.Demonstrate knowledge of fundamental data structures, such as arrays and/or lists, and apply them effectively in problem-solving.

8.Use structured problem-solving techniques to decompose complex problems and develop effective, efficient solutions through programming.

Unit Outcomes for Criterion Based Evaluation:

The following outline defines the minimum core content not including the final examination period.  Instructors may add other material as time allows.

UNIT 1: INTRODUCTION TO COMPUTERS, THE INTERNET AND THE WEB 

Outcomes: Upon completion of this unit, the student will get an introduction to programming languages and specifically the Java environment 

  • Understand basic computer science concepts. 
  • Become familiar with different types of programming languages. 
  • Introduce a typical Java development environment. 
  • Understand Java’s role in developing distributed client/server applications for the Internet and Web. 
  • Introduce object-oriented design with the UML and design patterns.

UNIT 2: INTRODUCTION TO JAVA APPLICATIONS 

Outcomes: Upon completion of this unit, the student will be able to write simple Java applications and know how to use the input/output and decision making statements along with some of the operators and types.

  • Be able to write simple Java applications. 
  • Be able to use input and output statements. 
  • Become familiar with primitive types. 
  • Understand basic memory concepts. 
  • Be able to use arithmetic operators. 
  • Understand arithmetic-operator precedence.
  • Be able to write decision-making statements. 
  • Be able to use relational and equality operators. 

UNIT 3: CONTROL STATEMENTS: PART 1 

Outcomes: Upon completion of this unit, the student will be able to write programs that use the selection and repetition statements. 

  • Understand basic problem-solving techniques. 
  • Be able to develop algorithms through the process of top-down, stepwise refinement. 
  • Be able to use the if and if…else selection statements to choose among alternative actions. 
  • Be able to use the while repetition statement to execute statements in a program repeatedly. 
  • Understand counter-controlled repletion and sentinel-controlled repetition. 
  • Be able to use the assignment, increment and decrement operators. 

UNIT 4: CONTROL STATEMENTS: PART 2 

Outcomes: Upon completion of this unit, the student will be able to write programs that use more advanced selection and repetition statements. 

  • Be able to use the for and do…while repetition statements to execute statements in a program repeatedly. 
  • Understand multiple selection using the switch selection statement. 
  • Be able to use the break and continue program control statements. 
  • Be able to use the logical operators. 

UNIT 5: METHODS 

Outcomes: Upon completion of this unit, the student will be able to write programs that include methods.  They will also understand the appropriate time to use methods. 

  • Understand how to construct programs modularly from small pieces called methods. 
  • Introduce the common math methods available in the Java API. 
  • Be able to create new methods. 
  • Understand the mechanisms for passing information between methods. 
  • Introduce simulation techniques that use random-number generation. 
  • Understand how the visibility of declarations is limited to specific regions of programs. 
  • Understand how to write and use methods that call themselves. 

UNIT 6: ARRAYS 

Outcomes: Upon completion of this unit, the student will be able to write programs that incorporate arrays. 

  • Introduce the array data structure. 
  • Understand the use of arrays to store, sort and search lists and tables of values. 
  • Understand how to declare an array, initialize an array and refer to individual elements of an array. 
  • Be able to pass arrays to methods. 
  • Be able to declare and manipulate multidimensional arrays. 

UNIT 7: OBJECT-BASED PROGRAMMING 

Outcomes: Upon completion of this unit, the student will understand the basic concepts of object based programming. 

  • Understand encapsulation and data hiding. 
  • Understand the notions of data abstraction and abstract data types (ADTs). 
  • Create Java ADTs - namely, classes. 
  • Be able to create and use objects. 
  • Be able to control access to instance variables and methods. 
  • Understand the use of the this reference. 
  • Be able to use class variables and methods. 
  • Understand the value of object orientation. 

UNIT 8: OBJECT-ORIENTED PROGRAMMING: INHERITANCE 

Outcomes: Upon completion of this unit, the student will understand how inheritance works in object-oriented programming 

  • Understand how inheritance promotes software reusability. 
  • Understand the notions of super classes and subclasses. 
  • Understand access modified protected. 
  • Be able to access superclass members with super. 
  • Understand the use of constructors and finalizers in inheritance hierarchies.

UNIT 9: OBJECT-ORIENTED PROGRAMMING: POLYMORPHISM 

Outcomes: Upon completion of this unit, the student will understand how polymorphism relates to object oriented programming. 

  • Understand the concept of polymorphism. 
  • Understand how to use overridden methods to effect polymorphism. 
  • Distinguish between abstract and concrete classes. 
  • Learn how to declare abstract methods to create abstract classes. 
  • Appreciate how polymorphism makes systems extensible and maintainable. 
  • Be able to determine an object’s type at execution time. 

UNIT 10: STRINGS AND CHARACTERS 

Outcomes: Upon completion of this unit, the student will be able to programs that manipulate strings and charters. 

  • Be able to create and manipulate nonmodifiable character string objects of class String. 
  • Be able to create and manipulate modifiable character string objects of class String Buffer. 
  • Be able to create and manipulate objects of class Character. 
  • Be able to use a String Tokenizer object to break a String object into tokens. 

UNIT 11: GRAPHICAL USER INTERFACE COMPONENTS: PART 1 

Outcomes: Upon completion of this unit, the student will be able to programs that uses buttons, labels, list, text fields, and panels.  They will also be able to use layout managers and understand how to respond to mouse and keyboard events. 

  • Understand the design principles of graphical user interfaces (GUI). 
  • Be able to build graphical user interfaces. 
  • Understand the packages containing GUI-related components, event handling classes and interfaces. 
  • Be able to create and manipulate buttons, labels, lists, text fields and panels. 
  • Understand mouse events and keyboard events. 
  • Understand and be able to use layout managers. 

UNIT 12: GRAPHICAL USER INTERFACE COMPONENTS: PART 2 

Outcomes: Upon completion of this unit, the student will be able to write programs that use text areas, sliders, menus, popup menus, windows, J Panel objects, and additional layout managers. Also, the student will get an introduction to Swing. 

  • Create and manipulate text areas, sliders, menus, popup menus and windows. 
  • Be able to create customized J Panel objects. 
  • Be able to change the look-and-feel of a GUI, using Swing’s pluggable look and-feel (PLAF). 
  • Be able to create a multiple-document interface with J Desktop Pane and J Internal Frame. 
  • Be able to use additional layout managers. 

UNIT 13: EXCEPTION HANDLING 

Outcomes: Upon completion of this unit, the student will be able write programs that have error checking. 

  • Understand exception and error handling. 
  • Use try, throw and catch to detect, indicate and handle exceptions, respectively. 
  • Use the finally clause to release resources. 
  • Understand the Java exception hierarchy. 
  • Create chained exceptions. 

UNIT 14: FILES AND STREAMS 

Outcomes: Upon completion of this unit, the student will be able to write programs that manipulate files in various ways.  Also, they will gain an understanding of Streams. 

  • Be able to create, read, write and update files. 
  • Be able to use class File. 
  • Understand the Java streams class hierarchy. 
  • Be able to use the File Input Stream and File Output Stream classes. 
  • Be able to use a J File Chooser dialog to access files and directories. 
  • Be able to use the Object Input Stream and Object Output Stream classes. 
  • Be able to use class Random Access File. 
  • Become familiar with sequential-access and random-access file processing. 

UNIT 15: JAVA DATABASE CONNECTIVITY WITH JDBC 

Outcomes: Upon completion of this unit, the student will be able to write programs that access a relational database. 

  • Understand relational databases. 
  • Understand basic database queries using SQL. 
  • Use the classes and interfaces of package java.sql to manipulate databases.

UNIT 16: STRUCTURED PROBLEM-SOLVING AND ALGORITHM DESIGN 

Outcomes: Upon completion of this unit, the student will be able to apply structured problem-solving techniques to develop efficient and effective solutions for programming challenges. 

  • Understand the fundamentals of structured problem-solving and algorithm design. 
  • Apply decomposition techniques to break down complex problems into smaller, manageable tasks. 
  • Develop algorithms using pseudocode and flowcharts before implementing them in Java. 
  • Implement stepwise refinement and iterative development for program optimization. 
  • Analyze the efficiency of algorithms in terms of time and space complexity. 

UNIT 17: ADVANCED DATA STRUCTURES AND COLLECTION FRAMEWORKS 

Outcomes: Upon completion of this unit, the student will be able to utilize advanced data structures and Java’s Collection Framework to manage and manipulate data efficiently. 

  • Understand and implement fundamental data structures, including linked lists, stacks, and queues. 
  • Utilize Java’s Collection Framework, including ArrayList, HashMap, HashSet, and TreeSet, to store and process data. 
  • Apply sorting and searching algorithms such as quicksort, mergesort, and binary search. 
  • Compare different data structures in terms of performance and appropriate use cases. 
  • Use iterators and generic programming to develop flexible and reusable data structures.

Projects Required:

Projects will vary according to the instructor. 

Textbook:

Contact Bookstore for current textbook.

Materials/Equipment Required:

None

Attendance Policy:

Students should adhere to the attendance policy outlined by the instructor in the course syllabus.

Grading Policy:

The grading policy will be outlined by the instructor in the course syllabus.

Maximum class size:

Based on classroom occupancy

Course Time Frame:

The U.S. Department of Education, Higher Learning Commission and the Kansas Board of Regents define credit hour and have specific regulations that the college must follow when developing, teaching and assessing the educational aspects of the college.  A credit hour is an amount of work represented in intended learning outcomes and verified by evidence of student achievement that is an institutionally-established equivalency that reasonably approximates not less than one hour of classroom or direct faculty instruction and a minimum of two hours of out-of-class student work for approximately fifteen weeks for one semester hour of credit or an equivalent amount of work over a different amount of time.  The number of semester hours of credit allowed for each distance education or blended hybrid courses shall be assigned by the college based on the amount of time needed to achieve the same course outcomes in a purely face-to-face format.

Refer to the following policies:

 

402.00 Academic Code of Conduct

263.00 Student Appeal of Course Grades

403.00 Student Code of Conduct

Disability Services Program:

Cowley College, in recognition of state and federal laws, will accommodate a student with a documented disability.  If a student has a disability which may impact work in this class and which requires accommodations, contact the Disability Services Coordinator.

DISCLAIMER: THIS INFORMATION IS SUBJECT TO CHANGE.  FOR THE OFFICIAL COURSE PROCEDURE CONTACT ACADEMIC AFFAIRS.