CSC-115 CS1: Introduction To Programming And Computational Thinking

CS1: Introduction to Programming and Computational Thinking serves as a first course for all computer-related majors. This course is for beginning programmers, and is the first course in a sequence of three programming courses. The course emphasizes the development of languages and software, problem-solving, and programming in a structured, object-oriented language. The Java programming language is used throughout the course.

Credits

3

Corequisite

MAT-097 or Math Placement Level 1

Lecture Contact Hours

3

Lab Contact Hours

1

Other Contact Hours

0

Department

  • Computer Science

Grading Scheme

  • Letter

SUNY Gen Ed Credit

  • No

Semesters Course Will Be Offered

  • Fall
  • Spring
  • Summer

Course Learning Outcomes

  1. Construct fundamental computer algorithms to solve simple problems
  2. Create basic computer programs using the formal syntax from a high-level, object-oriented programming language
  3. Translate foundational algorithms into simple technical computer program solutions
View Course Outline

CSC 115: CS1: Introduction To Programming And Computational Thinking

Department

Computer Science

Course Description

CS1: Introduction to Programming and Computational Thinking serves as a first course for all computer-related majors. This course is for beginning programmers, and is the first course in a sequence of three programming courses. The course emphasizes the development of languages and software, problem-solving, and programming in a structured, object-oriented language. The Java programming language is used throughout the course.

Credit Hours

3

Contact Hours

Lecture3
Lab1
Other0

Grading Scheme

Letter

Semester(s) Course Will Be Offered

Fall, Spring, Summer

Corequisites

MAT-097 or Math Placement Level 1

Course Learning Outcomes

  1. Construct fundamental computer algorithms to solve simple problems
  2. Create basic computer programs using the formal syntax from a high-level, object-oriented programming language
  3. Translate foundational algorithms into simple technical computer program solutions

Topic Outline

  1. Fundamentals of Computer Problem Solving
    1. Problem Analysis 
    2. Design Logic – Simple Algorithmic Development 
      1. Flowcharts 
      2. Pseudocode 
  2. Fundamentals of Computer Programming 
    1. Programming Languages and Environments 
      1. Object-Oriented verses Structured Programming and Functional Methodologies 
      2. Phases of Language Translation (Compiling, Interpreting, Linking, and Executing)
      3. Java Language Specification: API, JDK, and IDE 
      4. Error Conditions: Syntax, Runtime, and Logic 
    2. Software Development Process (IPO) 
      1. Requirements
      2. Specification
      3. Analysis
      4. Design
      5. Implementation
      6. Testing
      7. Deployment
      8. Maintenance
    3. Creating, Compiling, and Executing a Java Program 
      1. Identifiers, Variables, and Constants
      2. Memory Representations and Data Types 
        1. Numeric, String, Boolean, Character 
      3. Assignment, Numeric, Relational and Logical Operators 
      4. Expression Evaluation: Assignment, Numeric, Boolean
      5. Fundamental Programming Constructs 
        1. Sequence 
        2. Selection 
        3. Iteration
    4. Subprograms, Functions, and Methods 
      1. Formal Parameters, Actual Parameters 
      2. Passing Arguments and Return Values 
      3. Method Overloading 
      4. Developing Reusable Code 
    5. Secure Coding Techniques 
      1. Variable Scope
      2. Input Data Validation 
    6. Arrays 
      1. Common Array Operations 
      2. Sorting and Searching