Computer Science (CSC)
CSC 101 Introduction to Computer Science 4 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, operating systems, cyber security, artificial intelligence, networking, web applications, databases and emerging technologies.
CSC 115 Introduction to Python 4 credits
This course introduces students to problem solving using the Python programming language. Students will learn computer hardware concepts, number systems, and Boolean algebra. The course will cover Python programming constructs such as conditional statement, iteration, function, class and object. Students are expected to take a problem description and write a program in Python that provides a solution to the problem. This course assumes the student has no prior programming experience.
CSC 121 Basics of Technology in Business 2 credits
The purpose of this course is to respond to the technological demands of business today. Students will be equipped with the required knowledge and skills to fulfill basic business needs. A foundation in fundamental tools and emerging technologies will be explored through both practice and theory with a focus on how they can be leveraged for business advantage. A solid base in business information systems will provide students the confidence to generate and manage information for thoughtful and informed decisions. Business efficiency and productivity topics will include emerging and contemporary technologies for data management, business intelligence, and professional communication.
CSC 135 Client-Side Web Development 4 credits
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 wire framing, designing and prototyping.
CSC 175 Math for Computer Science 4 credits
This course covers mathematical concepts that are widely used in the field of Computer Science, including discrete math, logic, and proofs. (Prerequisite: Minimum grade of C- in MAT 103, or Level 3 on the Math Placement Exam)
CSC 210 Microsoft Excel Core 4 credits
Through Microsoft Excel, students will be led through an exploration of a powerful spreadsheet program. After a review of the basic commands and functionality, students will be challenged to manipulate specific data for informative reporting that is visually, accurately and dynamically representative of the learning objective. To accomplish this task advanced formulas, search strategies, and data analysis tools will be incorporated into learning projects including mastery of Pivot Tables and Pivot Charts. Further studies will include strategies for managing large data sets, linking and importing external data, mitigating security issues, and working toward automation. Upon completion of the course, students will have sufficient preparation if they wish to take the Microsoft Excel Expert Exam for the Microsoft Office Specialist Certificate.
CSC 222 Introductory Programming with Java 4 credits
This course teaches student problem solving with structured programming techniques using Java. The topics covered includes variables, primitive data types, conditional statements, loops, static methods, file processing, string, arrays, and some concepts of object oriented programming. This course requires that students have some programming background. (Prerequisite: Minimum grade of C- in CSC 115)
CSC 230 Database Design 4 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.
CSC 235 Server-Side Development 4 credits
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 CSC 135 and CSC 230)
CSC 240 Database Development for Business 4 credits
Analyze database use within a variety of business contexts. Gather requirements for a real-life database that addresses current business strategies and develop a prototypical model that meets stakeholder reporting needs and enhances organizational efficiency. Learn the basics of database design including the relational model and an introduction to SQL queries. Practice working individually and in teams to learn the normalization process, minimizing opportunities for redundant, inaccurate data.
CSC 310 Computer Architecture and Operating Systems 4 credits
This course is designed as an introduction to the functional components of computer systems, including their hardware implementation and management at different levels, and their interaction, characteristics, and performance. The course also covers practical implications for computer programming. (Prerequisite: Minimum grade of C- in CSC 115 or equivalent)
CSC 315 Mobile App Development 4 credits
This course teaches students how to build Android mobile applications from the bottom up using Android Studio and Java. Students will learn Android architecture, how to design user interface, and how to handle user interface events. Other topics include saving and restoring the state of an app and integrating Google Map. The course consists of several small projects giving students the ability to create an Android app incrementally. At the end of the course, students will use knowledge they have learned in the course to build a medium size Android app and to learn the process of preparing and publishing their app to Google Play Store. (Prerequisite: Minimum grade of C- in CSC 222)
CSC 322 Object Oriented Programming in Java 4 credits
This course teaches student 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 CSC 222)
CSC 330 Language Design and Implementation 4 credits
The 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. (Prerequisite: Minimum grade of C- in CSC 322)
CSC 420 Data Structures and Algorithms 4 credits
This course covers both 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 CSC 322 and MAT 220)
CSC 422 Software Engineering 4 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 environment, 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 CSC 322)
CSC 435 Advanced Web Application Development 4 credits
This course teaches students Web application development using common tools and frameworks in the current industry. The course covers various front-end libraries and frameworks such as React and Angular and several back-end frameworks and tools such as Python Flasks, Code Igniter Node, and Java Spring Boot. Students will learn both relational databases and NoSQL databases. Students will build various Web applications using various frameworks throughout the term. Students are assumed to have good knowledge of JavaScript, have a good understanding of backend development and of databases. (Prerequisite: Minimum grade of C- in CSC 235)
CSC 450 Computer Science Capstone 4 credits
This course is a capstone course for the Bachelor of Science in Computer Science. The course provides students realistic hands-on software development experience. Students will work in teams to build a medium-size software. Students will use agile software development and 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 CSC 315 or CSC 435)
CSC 488 Independent Study 1-4 credits
CSC 498 Computer Science Internship 1-16 credits