Skip to main content

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.

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


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


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


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


Units: 3

Propositional logic and predicate calculus. Logic gates and circuits. Methods of proof. Mathematical induction. Recursive definitions and functions. Solving recurrences. Asymptotic growth of functions. Elementary combinatorics and probability. Introduction to graph theory. Binary relations, including posets and equivalence relations. This course assumes knowledge of topics covered in high-school Algebra I and II. Most seats reserved for CSC and CPE majors and Computer Programming minors.

Offered in Fall Spring Summer


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


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


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