This course covers the study of intelligent agent design and rational decision making. Topics include goal-driven agents, search techniques, optimization, basic problem-solving methods, logic, knowledge-based agents, statistical and probabilistic reasoning, and the basics of machine learning. Special consideration will be given to working with data structures and techniques required for basic model building in Python along with understanding how to work and interact with Large Language Models. Upon completion, students should be able to demonstrate artificial intelligence design concepts.
Course Prerequisites:
Take CSC-121; Take previously. Required.
Total Credits:3
Class Credits:2
Lab Credits:3
Clinic Credits:0
CSC-118: Swift Programming I
This course introduces the development of iOS applications and Apple applications using Swift programming language. Emphasis is placed on syntax, object-oriented principles, memory management, and functional concepts of Swift programming. Upon completion, students should be able to develop fully functional iOS and Apple applications using Swift programming language.
Course Prerequisites:
None
Total Credits:3
Class Credits:2
Lab Credits:3
Clinic Credits:0
CSC-120: Computing Fundamentals I
This course provides the essential foundation for the discipline of computing and a program of study in computer science, including the role of the professional. Topics include algorithm design, data abstraction, searching and sorting algorithms, and procedural programming techniques. Upon completion, students should be able to solve problems, develop algorithms, specify data types, perform sorts and searches, and use an operating system.
Course Prerequisites:
Take 1 group; Option: Take DMA-010 DMA-020 DMA-030 DMA-040(S24983) DMA-050(S24984); Option: Take DMA-010 DMA-020 DMA-030 DMA-045; Option: Take DMA-025 DMA-040(S24983) DMA-050(S24984); Option: Take DMA-025 DMA-045; Option: Take MAT-121(S26399); Option: Take MAT-143(S26401); Option: Take MAT-171(S26403); Option: Take MAT-025 or MAT-035; Option: Take MAT-003; Option: Take BSP-4003; Option: Take MAT-110(S26398); Take previously. Required.
Total Credits:4
Class Credits:3
Lab Credits:2
Clinic Credits:0
CSC-121: Python Programming
This course introduces computer programming using the Python programming language. Emphasis is placed on common algorithms and programming principles utilizing the standard library distributed with Python. Upon completion, students should be able to design, code, test, and debug Python language programs.
Course Prerequisites:
Take CTI-110(S22510); Take previously. Required.
Total Credits:3
Class Credits:2
Lab Credits:3
Clinic Credits:0
CSC-122: Python Application Development
This course introduces the use of frameworks to build web-enabled applications. Emphasis is placed on URL routing, output format templating, database manipulation and security. Upon completion, students should be able to create simple web-enabled applications with a graphical user interface using the Python language.
Course Prerequisites:
Take CSC-121; Take previously. Required.
Total Credits:3
Class Credits:2
Lab Credits:2
Clinic Credits:0
CSC-124: Introduction to Data Science Programming
This course covers the key technologies used to manipulate, store and analyze big data. Topics include scripting languages, noSQL databases, database scalability, performance metrics and tuning. Upon completion, students should be able to use programming techniques to investigate data sets and algorithms.
Course Prerequisites:
None
Total Credits:3
Class Credits:2
Lab Credits:3
Clinic Credits:0
CSC-130: Computing Fundamentals II
This course provides in-depth coverage of the discipline of computing and the role of the professional. Topics include software design methodologies, analysis of algorithm and data structures, searching and sorting algorithms, and file organization methods. Upon completion, students should be able to use software design methodologies and choice of data structures and understand social/ethical responsibilities of the computing professional.
Course Prerequisites:
Take CSC-120(S11470); Take previously. Required.
Total Credits:4
Class Credits:3
Lab Credits:2
Clinic Credits:0
CSC-133: C Programming
This course introduces computer programming using the C programming language with structured programming principles. Topics include input/output operations, iteration, arithmetic operations, arrays, pointers, filters, and other related topics. Upon completion, students should be able to design, code, test and debug at a beginning level. The focus of this course is C programming for microcontrollers and embedded systems.
Course Prerequisites:
None
Total Credits:3
Class Credits:2
Lab Credits:3
Clinic Credits:0
CSC-134: C++ Programming
This course introduces computer programming using the C++ programming language with object-oriented programming principles. Emphasis is placed on event-driven programming methods, including creating and manipulating objects, classes, and using object-oriented tools such as the class debugger. Upon completion, students should be able to design, code, test and debug at a beginning level.
Course Prerequisites:
Take MAT-121(S25429) MAT-143(S25430) MAT-152(S25431) MAT-171(S25432) MAT-271(S23939) or MAT-252(S25063); Take previously. Required.
Total Credits:3
Class Credits:2
Lab Credits:3
Clinic Credits:0
CSC-151: JAVA Programming
This course introduces computer programming using the JAVA programming language with object-oriented programming principles. Emphasis is placed on event-driven programming methods, including creating and manipulating objects, classes, and using object-oriented tools such as the class debugger. Upon completion students should be able to design, code, test, debug JAVA language programs.
Course Prerequisites:
Take 1 group; Option: Take DMA-010 DMA-020 DMA-030 DMA-040(S24983) DMA-050(S24984); Option: Take DMA-010 DMA-020 DMA-030 DMA-045; Option: Take DMA-025 DMA-040(S24983) DMA-050(S24984); Option: Take DMA-025 DMA-045; Option: Take MAT-121(S25429); Option: Take MAT-171(S25432); Option: Take MAT-003; Option: Take BSP-4003; Option: Take MAT-025; Option: Take MAT-035; Option: Take MAT-110(S26398); Take previously. Required.
Total Credits:3
Class Credits:2
Lab Credits:3
Clinic Credits:0
CSC-154: Software Development
This course covers the fundamentals of software development. Emphasis is placed on the full spectrum of team software development methodologies, software development project management, version control, issue tracking, regression testing, automated build and deployment. Upon completion, students should be able to work in a team environment and apply software development methodologies and software quality assurance principles.
Course Prerequisites:
Take DBA-120; Take previously. Required.Take CSC-134(S21066) CSC-151 or CSC-121; Take previously. Required.
Total Credits:3
Class Credits:2
Lab Credits:2
Clinic Credits:0
CSC-221: Advanced Python Programming
This course introduces advanced computer programming using the Python programming language. Emphasis is placed on the advanced programming concepts including advanced algorithms and programming principles utilizing standard and third party library tools. Upon completion, students should be able to design, code, test, and debug advanced Python language programs.
Course Prerequisites:
Take CSC-121; Take previously. Required.
Total Credits:3
Class Credits:2
Lab Credits:3
Clinic Credits:0
CSC-227: Cloud Application Development
This course introduces how to build, deploy, host, and manage applications using cloud technologies. Topics include building cloud applications using cloud tool sets, defining and managing service models, storage fundamentals, secure backup system and database programming. Upon completion, students should be able to develop and host cloud applications, as well as design and develop services that access local and remote data from various data sources.
Course Prerequisites:
Take CTI-110(S22510) NOS-110(S20980); Take previously. Required.Take CSC-151 or CSC-121; Take previously. Required.
Total Credits:3
Class Credits:2
Lab Credits:2
Clinic Credits:0
CSC-234: Advanced C++ Programming
This course is a continuation of CSC 134 using the C++ programming language with standard programming principles. Emphasis is placed on advanced arrays/tables, file management/processing techniques, data structures, sub-programs, interactive processing, sort/merge routines, and libraries. Upon completion, students should be able to design, code, test, debug and document programming solutions.
Course Prerequisites:
Take CSC-134(S21066); Take previously. Required.
Total Credits:3
Class Credits:2
Lab Credits:3
Clinic Credits:0
CSC-249: Data Structure & Algorithms
This course introduces the data structures and algorithms frequently used in programming applications. Topics include lists, stacks, queues, dequeues, heaps, sorting, searching, mathematical operations, recursion, encryption, random numbers, algorithm testing, and standards. Upon completion, students should be able to design data structures and implement algorithms to solve various problems. This course introduces the data structures and algorithms frequently used in programming applications. Topics include lists, stacks, queues, dequeues, heaps, sorting, searching, mathematical operations, recursion, encryption, random numbers, algorithm testing, and standards. Upon completion, students should be able to design data structures and implement algorithms to solve various problems.
Course Prerequisites:
Take 1 group; Option: Take CSC-121; Option: Take CSC-134(S21066); Option: Take CSC-151; Take previously. Required.
Total Credits:3
Class Credits:2
Lab Credits:3
Clinic Credits:0
CSC-251: Advanced JAVA Programming
This course is a continuation of CSC 151 using the JAVA programming language with object-oriented programming principles. Emphasis is placed on event-driven programming methods, including creating and manipulating objects, classes, and using object-oriented tools such as the class debugger. Upon completion, students should be able to design, code, test, debug, and implement objects using the appropriate environment.
Course Prerequisites:
Take CSC-151; Take previously. Required.
Total Credits:3
Class Credits:2
Lab Credits:3
Clinic Credits:0
CSC-256: Software Quality Assurance
This course covers the principles, concepts and processes of software testing. Topics include testing technologies, static techniques, test design techniques, and test management. Upon completion, students should be able to design and implement software testing plans and procedures throughout the software life cycle.
Course Prerequisites:
Take CSC-121; Take previously. Required.
Total Credits:3
Class Credits:2
Lab Credits:2
Clinic Credits:0
CSC-289: Programming Capstone Project
This course provides an opportunity to complete a significant programming project from the design phase through implementation with minimal instructor support. Emphasis is placed on project definition, testing, presentation, and implementation. Upon completion, students should be able to complete a project from the definition phase through implementation.
Course Prerequisites:
Take CTS-115(S20996) CTI-110(S22510) CTI-120(S22511); Take previously. Required.Take CSC-154; Take previously. Required.Take 1 group; Option: Take CSC-121; Option: Take CSC-134(S21066); Option: Take CSC-151; Take previously. Required.Take CSC-256 or BAS-220(S24321); Take either previously or concurrently. Required.Take 1 group; Option: Take CSC-221(S25816); Option: Take CSC-234(S21079); Option: Take CSC-251; Take either previously or concurrently. Required.