Skip to main content
NC State Home

CSC 116 – Introduction to Computing – Java

Catalog Description:

An introductory course in computing in Java. Emphasis on algorithm development and problem solving. Careful and methodical development of Java applications from specifications; documentation and style; appropriate use of control structures; classes and methods; data types and data abstraction; object-oriented programming and design; software testing. Most seats reserved for Computer Science majors.

Contact Hours:

  • Lecture: 2 hours
  • Lab: 3 hours

Prerequisites: None
Co-requisites: E115 or COS100 and MA121 or MA131 or MA141
Restrictions: None
Coordinator: Dr. Suzanne Balik
Textbook:

Course Outcomes:

Upon successful completion of this course, a student will be able to:

  • Apply classic problem-solving techniques to simple computational and information-management problems;
  • Evaluate an arithmetic expression using order of operations, promotion from integer to floating-point types, and integer division;  
  • Use a programming language to write code that selects one of several alternatives based on more than one predicate;
  • Use a programming language to write a loop whose exit depends on more than one predicate;      
  • Correct syntax errors and distinguish between them and runtime errors or errors in logic;
  • Find and correct logical programming errors using debugging printout, pencil-and-paper tracing, and systematic search (to locate where an incorrect decision or value first appears);
  • Verify and validate programs using white- and black-box testing;
  • Implement an object-oriented design that has at least two interacting, encapsulated classes;
  • Write and document programs that adhere to specific coding and documentation standards (e.g., javadoc for documentation; conventions regarding the naming of classes and methods, definition of constants, indention, etc.);
  • Use the Java system classes to do text-based input and output;
  • Construct and use arrays with one and two dimensions;
  • Use programming language constructs learned in the course to implement a fully-specified and fully-tested encapsulated system. 

Topics:

  • Programming Errors
  • Introduction to Java
  • Console I/O
  • Data Types and Expressions
  • Variables
  • Math Class
  • Formatting with printf
  • String Class
  • Scanner Class
  • Characters
  • Random Numbers
  • if-else Statements
  • Boolean Variables
  • Switch Statements
  • Conditional Expressions
  • Type Comparisons
  • Software Testing
  • System (Black-box) Testing
  • Methods
  • Throwing Exceptions
  • Unit (White-box) Testing
  • for Loops
  • while Loops
  • do-while Loops
  • Enumerations
  • Arrays
  • Parallel Arrays
  • for-each Loops
  • Arrays of Objects
  • Arrays and Methods
  • Two Dimensional Arrays
  • Array-based Lists
  • File I/O
  • Classes
  • Graphical User Interfaces
  • Software Process