Computer Science
Computer scientists study the representation, storage, and transformation of data into useful information using electronic computing machines. It affects practically all aspects of contemporary life. The main objects of study are digital computers and the phenomena surrounding them. Work in the discipline is focused on the structure and operation of computer systems, the principles that underlie their design and programming, effective methods for their use in different classes of information processing tasks, and theoretical characterizations of their properties and limitations. Computer Science is an extremely fast-growing and rewarding discipline. The Computer Science program at EU provides the fundamentals of the field in preparing students for immediate entry into the computer industry or for continued study at the graduate level.
Program Learning Outcomes
Graduates of the Computer Science Program should have developed:
- The ability to develop an optimal algorithm to solve a problem (Algorithm Development and Implementation).
- Given a problem, develop an algorithm to solve it.
- Successfully implement (code) the algorithm in a higher order language.
- Analyze algorithms to determine the most optimal one.
- Specify a developed algorithm (design) in pseudocode.
- Demonstrate proper software engineering techniques and proper use of appropriate data structures when developing code.
- An understanding of the underlying concepts and characteristics of real and conceptual machines (Computer Architecture and System Hardware).
- Gain an understanding of the underlying concepts of conceptual machines (e.g., finite state automata, Turing machines, etc.).
- Gain an understanding of peripherals comprising a computer system (includes storage techniques).
- Determine and analyze system requirements to effectively determine the optimal system for a business organization.
- Understand circuit design and how circuitry is used to implement computer system components.
- An understanding of the software comprising a computer system (System Software).
- Examine system software components (with regard to system requirements) to effectively generate an optimal computer system.
- Gain an understanding of the interrelationship of system software with hardware and system components.
- Gain an understanding of database models, design, and implementation.
- Gain an understanding of operating system concepts and implementations.
- The ability to effectively communicate technical information both orally and in writing (Communication Skills).
- Demonstrate effective writing skills for both technical and non-technical information.
- Demonstrate effective oral communication skills.
- Effectively communicate in writing the results of research on a technical subject.
Degrees and Certificates
Classes
CPSC 111 : Introduction to Computer Science
Credits
3CPSC 142 : Java Programming I
Credits
3CPSC 211 : Data Structures
Credits
3Prerequisites
A minimum grade of C in CPSC 111.
CPSC 215 : Assembly Language Programming
Introduction to the internal operation of a computer's machine language. Topics include computer architecture, data representation, storage definition, assembler concepts, and instruction formats in an assembler language.
Credits
3Prerequisites
CPSC 211.
CPSC 225 : Computer Hardware Organization
Credits
3Prerequisites
CPSC 211 and MATH 212.
CPSC 231 : Introduction to File Processing
Credits
3Prerequisites
CPSC 211.
CPSC 242 : Java Programming II
Credits
3Prerequisites
CPSC 142.
CPSC 248 : Special Topics
Topics include specialized areas of computer science not otherwise offered. The student's transcript will show the specific topic covered. A maximum of 9 credits of special topics is allowed.
Credits
3CPSC 250 : Introduction to Cybersecurity
Introduction to, and solid foundation for, computer and network security. Coverage includes basic security principles and standards as well as countermeasures and approaches to meeting computer security requirements. Topics include threat types and characteristics, prevention (user authentication and access control), encryption, and legal and ethical aspects. Various exercises are performed to enhance the student's experience.
Credits
3Prerequisites
CPSC 111 or programming equivalent.
CPSC 290 : Independent Study and Research
Independent study in computer science under the direction of a faculty member. Topics are selected from recent developments in computer science.
Credits
1 - 3Prerequisites
Permission of the professor.
CPSC 311 : Systems Analysis and Design
Credits
3Prerequisites
Junior or senior standing.
CPSC 325 : Data Communications
Credits
3Prerequisites
Junior or senior standing.
CPSC 411 : Ethical Hacking
Addresses the fundamentals of ethical hacking. The course utilizes virtual labs to enhance and supplement the material presented. Topics include footprinting and scanning; enumeration and system hacking; malware; sniffers, session hijacking and denial of service; web server hacking, web application attacks, and database attacks; IDS, firewalls, and honeypots; physical security and social engineering; cryptographic attacks and defenses; cloud computing and botnets.
Credits
3Prerequisites
CPSC 250.
CPSC 412 : Computer Forensics
Focuses on the use of the most popular forensics tools and provides specific guidance on dealing with civil and criminal matters relating to the law and technology. Includes discussions on how to manage a digital forensics operation in today's business environment.
Credits
3Prerequisites
CPSC 250.
CPSC 415 : Operating Systems
Credits
3Prerequisites
CPSC 211 and 225.
CPSC 420 : Cybersecurity for Developers
Explores secure design principles and techniques for developing software with security in mind. Reviews the security capabilities of information platforms and what is known about common attack methodologies. Examines the security needs of each phase of software development and shows how to organize and shield information to protect privacy and information viability.
Credits
3Prerequisites
CPSC 111, CPSC 211, and CPSC 250.
CPSC 425 : Cryptography
Surveys both the principles and practice of cryptography and its application to network security. The course covers cryptography and network security technology as well as the practical applications that have been implemented and are in use to provide network security. Topics include symmetric and asymmetric ciphers and their underlying mathematical foundations. As time permits, cryptographic data integrity algorithms, mutual trust, and network and internet security may be covered.
Credits
3Prerequisites
Completion of MATH 212 and CPSC 250 is preferred.
CPSC 435 : Artificial Intelligence
Credits
3Prerequisites
CPSC 211 and MATH 212.
CPSC 441 : Database Management Systems
Credits
3CPSC 442 : Big Data
Provides experience in a variety of areas of importance when processing massive amounts of data of diverse types. These areas include elements of python, parallel and distributed computing, databases, structured query language (SQL), data interchange formats (JSON), NOSQL, and specific big data tools such as HADOOP, MapReduce, Spark.
Credits
3CPSC 448 : Special Topics
Topics selected from specialized areas of computer science not otherwise offered. Topics include material deemed to be advanced enough to warrant upper division status. The Student's transcript will show the specific topic covered. A maximum of 9 credits of special topics is allowed.
Credits
3CPSC 490 : Independent Study and Research
Independent study in computer science under the direction of a faculty member. Topics are selected from recent developments in computer science and include material deemed to be advanced enough to warrant upper division status.
Credits
1 - 3Prerequisites
Computer science major and permission of the professor.
CPSC 493 : Senior Project
Credits
3Prerequisites
Computer Science major with a minimum of 21 credits in computer science completed.
CPSC 497 : Internship
Supervised field experience in Computer Science contributing to the student's professional development. Prior approval must be obtained before internship arrangements are completed.
Credits
3Prerequisites
Computer Science major with a minimum 21 credits in computer science completed, a minimum GPS of 3.0 in those courses, and/or permission of the professor.