Courses
Completion of the Computer Programming Certificate requires 22 credit hours (eight courses). Students must have a 2.0 or higher GPA in all required courses to be awarded the certificate.
NOTE: Students who intend to pursue graduate study in computer science after completion of the certificate should take MA 141 in place of MA 121.
MA 121 - Elements of Calculus
Units: 3
For students who require only a single semester of calculus. Emphasis on concepts and applications of calculus, along with basic skills. Algebra review, functions, graphs, limits, derivatives, integrals, logarithmic and exponential functions, functions of several variables, applications in management, applications in biological and social sciences. Credit is not allowed in more than one of MA 121, 131, 141. MA 121 may not be substituted for MA 131 or MA 141 as a curricular requirement
GEP: Mathematical Sciences
Offered in Fall Spring Summer
CSC 116 - Introduction to Computing - Java
Units: 3
An introductory course in computing in Java. Emphasis on algorithm development and problem solving. Careful and methodical development of Java applications from specifications; documentation and style; appropriate use of control structures; classes and methods; data types and data abstraction; object-oriented programming and design; software testing. Most seats reserved for Computer Science majors.
Offered in Fall Spring Summer
CSC 216 - Software Development Fundamentals
Units: 3
The second course in computing, intended for majors and minors. Emphasis is on exploring encapsulation; polymorphism; composition; inheritance; finite state machines; linear data structures [including array lists, linked lists, stacks, queues, and the tradeoffs in implementation]; and recursion [including recursive linked lists] in the context of the software development lifecycle including the processes and practices for designing, implementing, and testing high quality software.
Offered in Fall Spring Summer
CSC 217 - Software Development Fundamentals Lab
Units: 1
Laboratory course to accompany CSC 216 lecture course. Application of the software processes and practices to design, implement, and test the development of software solutions requiring composition; inheritance; finite state machines; and linear data structures, including recursive linked lists.
Offered in Fall Spring Summer
CSC 226 - Discrete Mathematics
Units: 3
Emphasis on counting [combinatorics], formal proofs, and applications of discrete mathematics. Topics will include [but are not limited to]: permutations, combinations, probability, propositional logic, predicate calculus, proof approaches, induction, modular arithmetic, recurrence relations, asymptotic growth of functions, and introduction to graph theory. This course assumes knowledge of topics covered in high-school Algebra I and II.
Offered in Fall Spring Summer
CSC 230 - C and Software Tools
Units: 3
In this course, students will develop skills in several important areas. First, we'll get some experience working in C, a language that lets us think like procedural rather than object-oriented developers. Also, being a fairly low-level language, C lets us see and control more of what's going on in the hardware. This can help us think about using the hardware more effectively, whether we're actually programming in C or in a higher-level language. While we learn C, we'll also learn about tools and techniques that help us build, manage, debug and analyze software projects.
Offered in Fall Spring Summer
CSC 246 - Concepts and Facilities of Operating Systems for Computer Scientists
Units: 3
This course prepares students to understand fundamental issues in operating systems. Students will be introduced to multi-threading, synchronization, scheduling, virtual memory, security and communication/networking. The material will be covered in terms of operating systems services exported by the operating systems interface. Current trends will be discussed to give a better understanding of future developments likely to be included in operating systems.
Offered in Fall Spring Summer
CSC 316 - Data Structures and Algorithms
Units: 3
Abstract data types; abstract and implementation-level views of data types. Linear and branching data structures, including stacks, queues, trees, heaps, hash tables, graphs, and others at discretion of instructor. Best, worst, and average case asymptotic time and space complexity as a means of formal analysis of iterative and recursive algorithms.
Offered in Fall Spring Summer