CPSC 107 Introduction to Computing 3 credits
Students develop a basic proficiency of computer usages in this course. Topics include the history of computing, the principal components of computers systems, and societal issues. Students discuss and use application software including word processors, spreadsheets, presentation software, and the World Wide Web. Students also learn elementary programming.
CPSC 140-150 Programming 3 credits each
The following courses provide an introduction to computers by programming in a high-level language. The emphasis is on programming real-life problems using efficient coding techniques. These courses are for students who want to use the computer as a problem-solving tool or who want to write programs for operating systems, compilers, artificial intelligence, or Internet applications.
CPSC 144 Programming in COBOL 3 credits
The programming assignments in this course are related to mainframe application computing, especially providing familiarity with the IBM z System.
CPSC 147 Programming in C++ 3 credits
The programming assignments in this course are related to the design of an operating system.
CPSC 149 Programming in Java 3 credits
The programming assignments in this course are related to the design of Internet application programs.
CPSC 151 Computer Science I 4 credits
This course emphasizes techniques of algorithmic design, structured programming, and debugging. The course also introduces students the mission-critical and strategic importance of IBM z System mainframe transactions or real-time data analytic technologies used by U.S. and Global Fortune 500 companies. By learning the z System, students learn an overall structure of the enterprise computing from hardware architectures to application programming. This beginning course for computer science majors may also be taken by others who wish to learn a high-level computer language.
CPSC 152 Computer Science II 4 credits
This course is an introduction to advanced features of a high-level computer language including stacks, queues, and user-defined data structures. The programming assignments involve the techniques of searching, sorting, and recursion. Prerequisite: CPSC 151 or the equivalent.
CPSC 205 Web Design 3 credits
CPSC 210 Discrete Mathematics 3 credits
This course introduces fundamental concepts of mathematics involved in computer science including induction, elementary counting, combinations and permutations, recursions and recurrence relations, graphs and trees, sorting and searching, and Boolean algebra. (This course may be taken for credit as MATH 210.) Prerequisite: Level III mathematics placement, or successful completion of a Level II mathematics course.
CPSC 220 Master the Mainframe 1 credit
The Master the Mainframe Contest administered by the IBM Academic Initiative gives students an opportunity to develop mainframe skills. There are three parts in the contest. A student who completes Part 1 and Part 2 will develop basic mainframe skills and will be awarded an IBM Basic Mainframe Skills badge. Part 3 provides hands-on project based learning. Through the hands-on projects, a student will learn z System programming languages including ReXX, COBOL, C, JAVA, assembler, SQL, and system programming. A student who completes Part 3 be awarded an IBM Acclaim Mainframe skills badge. A students complete Part 1 and Part 2 and selected hands-on projects in Part 3 received a certification from the department. CR/NCR Only.
CPSC 222 Electronics 4 credits
The student is presented with the fundamentals of digital and analog circuit analysis. Among topics originally specific to analog circuits are DC circuit analysis using Kirchoff’s laws, mesh equations, transformations, the use of multimeters and oscilloscopes, AC circuit analysis using complex impedances, capacitors, and inductors, resonance, step function analysis, and transitions. Among the topics originally specific to digital analysis are simple logic gates, IC chips, Boolean algebra, adders, flip-flops, shift registers, and counters. After the fundamentals are covered, the emphasis shifts to circuit analysis involving knowledge of both perspectives. This course includes three hours of lecture and two hours of laboratory each week. (This course may be taken for credit as PHYS 222.) Prerequisite: PHYS 201,202 or equivalent or permission of the Chair of the Department.
CPSC 230 Project Management 3 credits
This course is designed to prepare a student in completing a complex project by using the constraints needed for a successful project. Topics included planning, scheduling, score management, quality control, budget, and risk management of a project during its life cycle. The student experiences as a project manager to complete a project with the necessary tools and skills during the course.
CPSC 240 Introduction to Computer Security 3 credits
The course provides an introduction to communication and networks, laying the groundwork for advanced courses in the field. It addresses theoretical and technical concepts of network technology and computer system security, as well as a broad spectrum of issues related to computer security and data privacy. Students will learn about the hardware and software used in computer networks and how these components communicate through protocols. They will also develop their knowledge of the mechanisms of the different topologies and how to construct a network from different hardware components including wiring concepts to network devices.
CPSC 275 Data Structures and Algorithms 3 credits
This course is a study of the theory of and advanced techniques for representation of data, including link-lists, trees, graphs, analysis of algorithms, sorting, searching, and hashing techniques. Prerequisite: CPSC 152 or equivalent.
CPSC 277 Computer Ethics 3 credits
This course is a study of the theory and practice of computer ethics. The aim of the course is to learn the basis for ethical decision-making and the methodology for reaching ethical decisions concerning the computer science field. Topics studied in the course are Computers in the Workplace, Computer Crime, Privacy and Anonymity, Intellectual Property, and Professional Responsibility. Methodologies used in the course include lectures by the instructor, lectures by visiting lecturers, in-class discussions, writing assignments, individual class presentations, and case analyses.
CPSC 310 Artificial Intelligence 3 credits
This course is an introduction to the principles and programming methods of artificial intelligence. The fundamental issues involve logic and knowledge presentation, search, and learning. The programming language LISP is introduced and used to manipulate symbolic data. Prerequisite: CPSC 275 or familiarity with a high-level computer language.
CPSC 320 Software Engineering 3 credits
This course is a general survey of software engineering. Among the topics covered are project planning and management, design techniques, verification and validation, and software maintenance. Prerequisite: CPSC 275.
CPSC 330 Computer Organization and Assembly Language 4 credits
This course is a study of applications of Boolean algebra to combinational circuit design problems, organization of simplified computer components, memory organization, architecture, and assembly language programming. Prerequisite: CPSC 152 or the equivalent.
CPSC 340 Computer Forensics 3 credits
The course is designed to introduce the students to the software, hardware, legal, and ethical issues involved in computer forensics. Student will be developing the skills necessary to perform investigations into a variety of digital equipment through the use of practical projects. Prerequisites: CPSC 151 and MATH 103.
CPSC 360 Programming Languages 3 credits
This course is a study of programming language constructs emphasizing the run-time behavior of programs. Topics include formal grammars, parsing, information binding, data storage, global and local variables and parameters, string handling and list processing. Prerequisite: CPSC 275 or the equivalent.
CPSC 370 Operating Systems 3 credits
This course is a study of batch processing systems, implementation techniques for parallel processing of input/output and interrupt handling, memory management, system accounting, interprocess communication and interfaces, and deadlocks. Prerequisite: CPSC 152 or the equivalent.
CPSC 373 Writing for Mathematics and Computer Science 2 credits
This course is designed to emphasize recognition of clarity and style of presentation in the reading and discussion of computer science related technical writing. (This course may also be taken for credit as MATH 373.)
CPSC 375 Computer Security 3 credits
This course provides an overview of computer and network security. Topics covered include risks and vulnerabilities; related policies; controls and protection methods; access controls; database security; authentication technologies; and host-based and network based security. The students will learn how to design and build secure systems. Throughout the course, students will be given real world examples and projects to deepen their understanding.
CPSC 380 Data Base Design 3 credits
This course is an intensive study of the design and the implementation of a database. Topics include entity-relationship model, relational model, SQL, relational database design, object-oriented databases and object-relational databases. Prerequisite: CPSC 152.
CPSC 390 Numerical Analysis 3 credits
This course is a study of numerical methods of evaluating integrals and differential equations, techniques in finding the roots of polynomials, solving systems of linear equations, and matrix manipulation. (This course may be taken for credit as MATH 390.) Prerequisites: CPSC 151; MATH 202 or equivalent.
CPSC 405 Cryptography 3 credits
This course focuses on the study of various cryptographic protocols, algorithms, and proofs of security. Topics include classical vs. modern cryptography; historical ciphers; principles of modern cryptography; perfectly secret encryption. Prerequisite: MATH 202 or equivalent; CPSC151.
CPSC 420 Professional Internship 1-8 credits
This course is a professionally supervised experience with off-campus mathematicians, computer scientists, or applied scientists using modern research and/or analytical techniques. Settings may vary from purely academic summer programs to private or public scientific institutions. The number of credits awarded depends on the number of imbedded hours in the internship experience. A minimum of 50 imbedded hours is expected per credit with the maximum number of credit earned is eight. Prerequisites: Students must have a cumulative 2.0 GPA and junior/senior standing.
CPSC 440 Data Communications and Network Architecture 3 credits
This course is a study of data communications and computer networks from the programmer’s point of view. Topics include direct link networks, including Ethernet and wireless networks; packet switching, internetworking, and routing, with an emphasis on the Internet Protocol; end-to-end communications, emphasizing UDP, TCP, and RPC; congestion control; data compression; network security; and applications. Students write programs that use the TCP/IP protocol stack via the UNIX or Java socket interfaces. Prerequisites: CPSC 152 or the equivalent
CPSC 450 Network Security 3 credits
This course is a study of concepts, theories, requirements and mechanisms of network security. Topics include concepts related to network vulnerabilities and attacks, defense mechanisms against network attacks, cryptographic protection mechanisms, mechanism of identification and authentication, and real-time/non-real-time commutation security. Students gain experience designing, implementing, and testing a network security infrastructure through lab work. Prerequisites: CPSC 152, 240.
CPSC 470 Operating System Security 3 credits
This course provides the security issues including vulnerabilities, threats, exploits and defense mechanisms in operating systems. Topics include logging, auditing, address space randomization, memory protection, virtual machine introspection (VMI), malware and malware immunization. Prerequisites: CPSC 240,370.
CPSC 477 Seminar in Mathematics and Computer Science 2 credits
This course includes topics in computer science suitable to computer science majors. The course is open to qualified junior and senior computer science majors. (This course may be taken for credit as MATH 477.)
CPSC 487-488 Independent Study 2-4 credits
CPSC 490 Senior Project 2-4 credits
CPSC 495 Comprehensive Exams
This course is an administrative placeholder used to record a student’s score on Comprehensive Exams (CR/NCR).