Mar 14, 2026  
2026-2027 Undergraduate Academic Catalog 
    
2026-2027 Undergraduate Academic Catalog
Add to Portfolio (opens a new window)

CSC 1001 - Problem Solving for Programming

2 lecture hours 2 lab hours 3 credits
Course Description
This is an introductory computing course that focuses on a fundamental, problem-solving approach to programming. This course equips students with the mindset and core strategies to solve problems by developing appropriate software and documentation. Throughout the semester, students learn a variety of solution strategies, work with various data types, and develop an understanding of how to trace, debug, update, and evaluate the execution of programs. Students will be exposed to a variety of problems in a variety of domains, collaborate with peers, and build confidence working with code along the way. Students will also work with generative AI agents to effectively and efficiently develop, debug, test, and document code. The course culminates in a final project where students collaboratively apply solution strategies to build and present a software solution to a complex problem that they design and implement.
Prereq: None
Note: None
This course meets the following Raider Core CLO Requirement: None
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Draft software implementation requirements from non-technical descriptions.
  • Decompose problems into a sequence of logical steps, identifying patterns such as iteration, conditional logic, and state management.
  • Select and use appropriate data types to effectively model and manipulate real-world information.
  • Evaluate complex expressions using arithmetic, relational, and Boolean operators to control program flow.
  • Collaboratively design and articulate algorithmic solutions using high-level planning tools, including pseudocode, flowcharts, and state diagrams.
  • Trace the execution of algorithms, manually tracking variables and control flow to predict output and identify mismatches between desired and predicted output.
  • Evaluate modular software solutions in Python using fundamental programming constructs, including variables, control structures (conditionals and loops), and functions.
  • Utilize AI Agents to design and implement code and tests based on structured requirements. 
  • Apply systematic testing and debugging strategies to identify and resolve errors in code both manually and using generative AI tools.
  • Design functions and procedures that use parameters and return values to modularize code, improve reusability, and manage complexity.
  • Process data from files and create interactive and scriptable tools.
  • Synthesize course concepts to design, implement, and test a complete software solution as part of a collaborative team, breaking the project into manageable tasks.

Prerequisites by Topic
  • None

Coordinator
Dr. Katie Panciera



Add to Portfolio (opens a new window)