College of Business, Science & Technology

Computer Software Science (CSS)

CSS 102   Introduction to Computer Science 3 credits

Students will be introduced to a wide range of Computer Science topics. Some of the many aspects covered will include computer hardware, programing, operating systems, data analysis, cyber security, artificial intelligence, networking, web applications, databases and emerging technologies.

CSS 117   Programming I - Python 3 credits

This course introduces students to problem-solving using the Python programming language. Its purpose is to develop foundational programming skills while cultivating logical reasoning and structured approaches to computational problems. Students will explore core concepts such as computational thinking, abstraction, algorithms, and fundamental program design. The course covers essential Python constructs, including conditional statements, iteration, and functions. Students will learn to translate problem descriptions into working Python programs that produce correct and efficient solutions. No prior programming experience is required.

CSS 150   Intro to Data Structures and Algorithms 3 credits

This course introduces data structures and algorithms in Python, with an emphasis on object- oriented programming, core data structures, and practical problem-solving. Its purpose is to develop students' ability to design efficient solutions by selecting and implementing appropriate data structures and algorithms. Students will explore object-oriented concepts such as classes and inheritance, and learn to use and implement fundamental data structures, including lists, stacks, queues, linked lists, dictionaries, trees, and graphs. The course also covers basic searching and sorting techniques while strengthening skills in writing, testing, and debugging Python programs.(Prerequisite: C- in CSS 117)

CSS 180   Math for Computer Science 3 credits

The course introduces mathematical concepts that are widely used in the field of Computer Science, including set theory, combinatorics, logic, relations, and algorithms. It is designed as an alternative path to Discrete Mathematics for Computer Science students, replacing the traditional Calculus prerequisite.

CSS 205   Web Development 1 - Client-Side 3 credits

This course focuses on the client-side of web development. In this course, students will start by learning basic HTML and CSS for building static Web pages, and later use JavaScript to build an interactive Website. Students will also learn about responsive Web development, user experience concepts, and accessibility topics. A prototyping tool will be used for wireframing, designing, and prototyping. (Prerequisite: Minimum grade of C- in CSS117)

CSS 232   Database Design 3 credits

Utilize a database tool to create a prototype for output that meets real-life business outcomes. Learn the fundamentals of database design, including the relational model, SQL, and data warehousing. Practice working individually and in teams to learn the normalization process, minimizing opportunities for redundant, inaccurate data. Other topics include design implications for speeding data access (e.g., de-normalization) and the emergence of unstructured data systems.

CSS 250   Programming II - Java 3 credits

This course builds on prior experience with Python and data structures to introduce problem-solving in Java. Its purpose is to strengthen students' ability to design and implement structured, object-oriented solutions in a statically typed language. Students will apply structured programming techniques while learning core Java concepts, including variables, primitive data types, conditional statements, loops, static methods, file processing, strings, arrays, and ArrayLists. The course also introduces key object-oriented programming principles, including classes and inheritance. Students are expected to have prior programming experience. (Prerequisite: Minimum of C- in CSS 150)

CSS 300   Programming II - Java 3 credits

This course teaches students problem-solving with object-oriented programming techniques using Java. The topics include exception handling, generics, object-oriented programming, design patterns, and data structures. This course assumes that students already have a good programming background. (Prerequisite: Minimum grade of C- in CSS 150)

CSS 305   Web Development 2 - Server-Side 3 credits

This course focuses on the server-side of web development. This course provides an overview of programming and database techniques used in server-side programming. Topics include handling web form data, SQL, database design, security considerations, stored procedures, and JSON. (Prerequisite: Minimum grade of C-in CSS205 and Minimum grade of C- in CSS 232)

CSS 320   Computer Architecture and Operating Systems 3 credits

This is designed as an introduction to the functional components of computer systems, including their hardware implementation, management at different system levels, interactions, characteristics, and performance. These concepts are critical for AI, cloud computing, and mobile device engineers in optimizing system efficiency and performance. The course also covers the practical implications of these concepts for computer programming. (Prerequisite: Minimum grade of C- in CSS 150)

CSS 335   Programming Language Paradigms 3 credits

This course provides a comparative survey of programming language paradigms. It includes an overview of the properties, applications, syntax, and semantics of selected object-oriented, functional, comparative, and declarative programming languages. It looks into interpreted vs compiled languages and the theory of computation. The student will have an opportunity to design their own language. (Prerequisite: Minimum grade of C- in CSS 300)

CSS 350   Object-Oriented Software Design 3 credits

This course builds on prior programming experience to develop object-oriented software design skills using Java. Students design and implement multi-class applications using abstraction, encapsulation, inheritance, polymorphism, interfaces, generics, exception handling, and Java collections while emphasizing modularity, reusability, and maintainability. The course also introduces professional software development practices, including testing, debugging, documentation, and collaborative project development. (Prerequisite: Minimum of C- in CSS 250)

CSS 365   Foundations of Data Science 3 credits

This course introduces the fundamental principles and techniques of data science, including data collection, cleaning, visualization, and statistical analysis using Python. Students will apply supervised and unsupervised machine learning methods to real-world datasets while learning techniques for model evaluation and predictive analytics. Emphasis is placed on practical data science workflows, computational thinking, and the ethical use of data. (Prerequisite: Minimum of C- in MAT 110 and CSS 150)

CSS 405   Data Structures and Algorithms 3 credits

This course covers both the theory and application of data structures such as lists, stacks, queues, sets, maps, binary search trees, and graphs. The algorithm portion covers time complexing of algorithms using big-O notation, various sorting algorithms, concepts of dynamic programming, and divide-and-conquer algorithms. By the end of the course, students should know to apply the appropriate data structures for a given problem for optimal performance. Students will be able to determine the efficiency of basic algorithms. Students must have a good object-oriented programming background. (Prerequisite: Minimum grade of C- in CSS 300 and MAT 220)

CSS 425   Software Engineering 3 credits

This course introduces students to concepts and tools in software engineering. The topics include software life-cycle models, the phases of software development, design patterns, software architecture, and Agile software development. Students will learn various software engineering tools such as integrated development environments, version control systems, and project management software. This course assumes students have a good background in object-oriented programming in at least one programming language. (Prerequisite: Minimum grade of C- in CSS 300)

CSS 444   Computer Science Capstone 3 credits

This course is a capstone course for the Bachelor of Science in Computer Science. The course provides students with a realistic hands-on software development experience. Students will work in teams to build a medium-size software program. Students will use Agile software development and the tools necessary to support teamwork. This course assumes the student has a good programming background in at least one programming language and is willing to learn new tools and technologies. (Prerequisite: Minimum grade of C- in CSS 425)

CSS 465   Advanced Topics in Computer Science 3 credits

This course explores selected advanced topics in computer science, focusing on emerging areas and contemporary developments in the field. Its purpose is to broaden students? understanding of modern computing while strengthening their ability to analyze, evaluate, and apply advanced computational concepts. Content will vary by offering and may reflect current trends, research directions, or specialized areas of study. The course emphasizes critical thinking, problem solving, and the application of advanced techniques to complex problems. A strong foundation in programming and computational logic is required. (Prerequisite: Minimum of C- in CSS 350)

CSS 498   Computer Science Internship 0-6 credits

This course provides students with practical, hands-on experience in the field of Computer Science through a supervised internship. Students will apply theoretical knowledge to real-world projects, enhance technical skills, and develop professional competencies in areas such as software programming and development, data analysis, and cybersecurity. The internship will also emphasize teamwork, communication, and problem-solving in a workplace setting. Students are required to complete a minimum number of hours, submit progress reports, and deliver a final reflective presentation.(Prerequisite: Minimum grade of C- in CSS 425)