20804215Computer Science 1
Course Information
Description
This course is intended for students with no programming experience. Topics include basic object construction, the compiling process, general formatting requirements, primitive types, assignments, expressions, logic constructs with if blocks, loops, methods, primitive arrays, arrays of objects, text input and output, a binary search algorithm, and testing and debugging.
Total Credits
3

Course Competencies
  1. Use basic Java syntax and structure
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Explain the fundamental components of a Java program, including input, processing, and output
    Utilize correct Java syntax, including braces {}, semicolons ;, and assignment statements

  2. Work with data types, variables, and expressions
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Declare, initialize, and manipulate variables of different data types (int, double, char, String, boolean)
    Perform arithmetic and logical operations, including integer division, floating-point operations, and type casting
    Utilize constants and apply appropriate variable naming conventions

  3. Implement control flow with branching and loops
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Construct and evaluate if, if-else, and switch statements for decision-making
    Utilize relational (==, !=, , =) and logical (&&, ||, !) operators effectively
    Implement loops (for, while, and do-while) to handle repetitive tasks and process input dynamically

  4. Utilize methods for modular programming
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Define and call methods with parameters and return values
    Explain scope of variables in methods
    Use built-in Java methods such as those in the Math and String classes

  5. Work with strings and characters
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Process string input using Scanner methods like next() and nextLine()
    Apply string manipulation methods (charAt(), substring(), indexOf(), replace(), equals(), compareTo())
    Use character operations such as isLetter(), isDigit(), and escape sequences

  6. Perform basic array operations
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Declare, initialize, and manipulate one-dimensional and two-dimensional arrays
    Iterate over arrays using loops and the enhanced for-loop
    Perform array operations such as searching and modifying elements

  7. Work with object-oriented programming concepts
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Construct objects using constructors and the new operator
    Call instance methods and explain the distinction between an object and its reference variable
    Read and interpret Java API documentation to use built-in classes effectively

  8. Apply debugging and error handling techniques
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Identify and correct syntax, runtime, and logic errors
    Use debugging techniques such as print statements and tracing program execution
    Follow Java style guidelines for writing readable and maintainable code

  9. Perform file input and output operations
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Read from and write to text files using Java’s file handling classes
    Implement error handling
    Files are closed after operations are complete

  10. Apply fundamental problem-solving skills
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Develop algorithms to solve real-world problems
    Break complex problems into smaller, manageable tasks using structured programming
    Implement and test solutions using incremental development and debugging strategies