CIS170 - Java Development I
3 Credit hours - 2 Lecture, 2 Lab
Prerequisite(s): Grade of “C” or better in CIS120
Course Rationale:
To introduce the student to object-oriented programming using the Java programming language. Java is a popular programming language for both the server side and networked applications. This course will broaden the student's knowledge base in computer programming making them more employable in the business and professional community
Catalog Description:
This course is an introduction to object oriented programming using Java. Topics covered are: control structures, classes, objects, encapsulation, polymorphism, run-time type identification, messages, methods, applets, and arrays.
Course Objectives
Upon successful completion of this course students should be able to:
Design, code, document, and debug programs using Java programming techniques.
Develop platform independent solutions for software (server side and internet) applications.
Code solutions using sequence, decision and repetition control structures.
Apply object oriented design techniques of encapsulation, polymorphism, and data abstraction using classes to represent objects.
Create applets and stand-alone computer programs.
Use Internet resources, reference manuals, tutorials, on-line HELP, text and other reference material to resolve questions on function and operation.
All course assignments and exams are closely aligned to, and assess the student's mastery of, these core objectives.
Core Outcomes
In this course, students continue to build upon the programming knowledge gained in CIS-120 and learn how to write, debug, and maintain well formed, well documented Java code. By the end of this course, students should be able to:
Understand the fundamentals of the Java programming language
Describe the use of main in a Java application - signature of main, why it is static; how to consume an instance of your own class; command-line arguments
Perform basic input and output using standard packages - print statements; import and use the Scanner class
Evaluate the scope of a variable - declare a variable within a block, class, or method
Demonstrate the use of data types, variables and expressions
Declare and use primitive data type variables - data types, including byte, char, int, double, short, long, float, boolean; identify when precision is lost; initialization; how primitives differ from wrapper object types such as Integer and Boolean
Construct and evaluate code that manipulates strings - string class and string literals, comparisons, concatenation, case and length; String.format methods; string operators; converting a primitive data type to a string; the immutable nature of strings; initialization; null
Construct and evaluate code that creates, iterates, and manipulates arrays and array lists - one- and two-dimensional arrays, including initialization, null, size, iterating elements, accessing elements; array lists, including adding and removing elements, traversing the list
Construct and evaluate code that performs parsing, casting and conversion - implementing code that casts between primitive data types, converts primitive types to equivalent object types, or parses strings to numbers
Construct and evaluate arithmetic expressions - arithmetic operators, assignment, compound assignment operators, operator precedence
Implement flow control in code
Construct and evaluate code that uses branching statements - if, else, else if, switch; single-line versus block; nesting; logical and relational operators
Construct and evaluate code that uses loops - while, for, for each, do while; break and continue; nesting; logical, relational, and unary operators
Implement and Perform Object-Oriented Programming
Construct and evaluate a class definition - constructors; constructor overloading; one class per .java file; this keyword; inheritance and overriding at a basic level
Declare, implement, and access data members in a class - private, public, protected; instance data members; static data members; using static final to create constants; describe encapsulation
Declare, implement, and access methods - private, public, protected; method parameters; return type; void; return value; instance methods; static methods; overloading
Instantiate and use a class object in a program - instantiation; initialization; null; accessing and modifying data members; accessing methods; accessing and modifying static members; importing packages and classes
Demonstrate proper steps of debugging and troubleshooting code
Troubleshoot syntax errors, logic errors, and runtime errors - print statement debugging; output from the javac command; analyzing code for logic errors; console exceptions after running the program; evaluating a stack trace
Implement exception handling - try catch finally; exception class; exception class types; display exception information
Explain the reason source control is used in software development and demonstrate the ability to use source control systems such as Github to create repositories, check code into repositories, create and use branches, merge branches, and create pull requests.
Test Out Requirements
Students who wish to demonstrate proficiency in this course will need to complete a Departmental proficiency exam. Departmental proficiency examinations are created by appropriate college faculty to allow students to demonstrate their mastery of course content in designated subjects. These examinations will be equivalent to the cumulative final assessment used in the course. Faculty will determine the minimum score required to earn credit by exam for these courses.
The college’s test out policy is outlined in policy 2.12 - Credit by Exam (Test Out)
Last updated