CSC-117 Introduction To Programming And Computational Thinking using Python

Introduction to Programming and Computational Thinking using Python serves as a first programming course for Networking & Cybersecurity majors. This course is for beginning programmers. The course emphasizes the development of languages and software, problem-solving, and programming in a structured, object-oriented language. The Python 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. Design computer algorithms to solve problems
  2. Create and document computer programs using the formal syntax from a high-level, object-oriented programming language
  3. Adopt an iterative and continuous improvement process to critically troubleshoot issues and elevate software design.
View Course Outline

CSC 117: Introduction To Programming And Computational Thinking using Python

Department

Computer Science

Course Description

Introduction to Programming and Computational Thinking using Python serves as a first programming course for Networking & Cybersecurity majors. This course is for beginning programmers. The course emphasizes the development of languages and software, problem-solving, and programming in a structured, object-oriented language. The Python 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. Design computer algorithms to solve problems
  2. Create and document computer programs using the formal syntax from a high-level, object-oriented programming language
  3. Adopt an iterative and continuous improvement process to critically troubleshoot issues and elevate software design.

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 versus Structured Programming and Functional Methodologies 
      2. Phases of Language Translation (Compiling, Interpreting, Linking, and Executing) 
      3. Python Language Specification: API and IDE 
      4. Error Conditions: Syntax, Runtime, and Logic 
    2. Software Development Process 
      1. Requirements
      2. Specification
      3. Analysis
      4. Design
      5. Implementation
      6. Testing
      7. Deployment
      8. Maintenance
    3. Standard classes and importing libraries 
  3. Subprograms, Functions, and Methods 
    1. Formal Parameters, Actual Parameters 
    2. Passing Arguments and Return Values 
    3. Method Overloading 
    4. Developing Reusable Code 
  4. Secure Coding Techniques
    1. Variable Scope 
    2. Input Data Validation 
  5. Arrays 
    1. Common Array Operations 
      1. Traversing backwards 
    2. Sorting and Searching