Department of Computer Sciences and Electrical Engineering
Programs
- Computer and Information Security, B.S.
- Computer and Information Security, Minor
- Computer and Information Technology, B.S.
- Computer Science, Accelerated Graduate Degree
- Computer Science, B.S.
- Computer Science, Minor
- Cybersecurity, Accelerated Graduate Degree
- Data Science, Accelerated Graduate Degree
- Electrical and Computer Engineering, B.S.E.E.
- Pre-Computer Science
Courses
Computer and Information Technology
Comprehensive coverage of spreadsheets and databases. Includes techniques to collect, manage, and analyze data; solve problems; and effectively communicate results for scientific research. Includes macro development and introduction to scripting.
Concepts of software development and maintenance using C++, including syntax of the language, loops, functions, pointers, decision structures, and file processing. Proper program design using object-oriented programming techniques are emphasized.
The course introduces students to modern data gathering methods, laboratory instrumentation, and programming. Focuses range from transportation development, forensics, to environmental issues.
Students will learn techniques for creating advanced documents and programs for the Web using HTML, DHTML, XML, JavaScript, and PHP scripting. Students will also learn how to install and maintain a Web server.
This course introduces the student to the common hardware and technology that pervades business and society as a whole. Topics include pc's, networks, software, the internet, cellular phones, etc.
Covers the essentials for developing robust and secure applications using C#, Windows forms, and the .NET framework. Also covers ADO.NET, writing secure .NET applications and web services.
Pre-req: IST 236 or CIT 236 or CS 120.
Designed to teach students intermediate C++ programming through an applied approach with examples and applications. The course extends topics covered in prerequisite courses. Prior programming knowledge in any language required.
Pre-req: CIT 163 with a minimum grade of D or CS 120 with a minimum grade of D.
Independent study for selected freshmen and sophomores under supervision of faculty; may be repeated only once.
At least 30 contact hours in a public service/volunteer experience with a group, organization or agency that offers a service to the general public. Advisor permission required.
The second semester of a two course sequence on Web programming. This course focuses on server-side programming and databases. Topics covered include PHP, mySQL, web services, and security.
Pre-req: CIT 263 with a minimum grade of D.
Introduction to the industrial process of software systems development. The course covers project management and planning risk management issues; software quality and configuration issues; and processes, methods, and development tools.
Pre-req: CIT 236 or IST 236 or CS 120.
Second course in a two course sequence. Covers the system development life cycle: requirement analysis and specifications; design methods; system implementation and integration; testing; and reuse issues. Team project participation.
Pre-req: CIT 332 with a minimum grade of D or IST 332 with a minimum grade of D.
Covers computer software industry, history and the role of a creative game development team. Students will participate in the game development process, including art, animation, programming, music, sound and writing.
Pre-req: CIT 236 or IST 236 or CS 120.
This course provides students with knowledge of network terminology, structures, topologies, protocols, and inter-faces involving Local Area and Wide Area networks.
Pre-req: CIT 163 with a minimum grade of D or IST 163 with a minimum grade of D or CS 110 with a minimum grade of D.
To understand the logical and physical design of data stored and retrieved from a relational database. Exposure to distributed databases, database administration and structured query language will also be done.
This course examines electronic commerce. Group decision making and collaborative applications through the Internet. Develop applications that retrieve and store information in distributed databases.
Pre-req: CIT 365 with a minimum grade of D or IST 365 with a minimum grade of D and CIT 313 with a minimum grade of D.
Students will learn to develop iOS applications using HTML5/PhoneGap, Objective-C, and Swift, using Apple and third-party SDKs. Also covers basic concepts for designing intuitive and usable user-interfaces.
Pre-req: CIT 265.
Students will learn to develop Android applications using Java and the Android SDK. Course covers user interfaces, audio integration, SQLite databases, location services, sensors, and custom graphics.
Pre-req: CIT 265 with a minimum grade of D.
Includes topics in XHTML, JavaScript Data Object Model, dynamic application of CSS rules to page elements, browser's support for XML, object-oriented PHP programming, server side graphics generation, web services.
Pre-req: CIT 365 with a minimum grade of D and CIT 313 with a minimum grade of D.
Fundamental concepts dealing with the display of graphic information on semi-interactive storage tube displays. The course includes techniques for hidden line display, hidden line removal, and two- and three-dimensional transformation.
Pre-req: CIT 236 with a minimum grade of D or IST 236 with a minimum grade of D or CS 120 with a minimum grade of D.
Covers state of the art techniques for computer game design and development with an emphasis on the 3D graphics and interaction through practical, example driven approaches of game development.
Pre-req: CIT 340 with a minimum grade of D or IST 360 with a minimum grade of D.
Advanced concepts of game development with a focus on artificial intelligence. AI techniques covered including A* path finding algorithm, rule-based reasoning, reinforcement learning, neural networks, genetic algorithm, knowledge representation.
Pre-req: CIT 441 with a minimum grade of D or IST 439 with a minimum grade of D.
Covers 3D modeling to create environments and character animation. Explores 3D forms within sculpture, architecture, animation and games. Includes development of simplifications, abstractions and hyper-realities for gaming.
Course applies fundamentals of game development to educational games or simulations within a virtual world. Explores virtual worlds, basic scripting/modeling techniques and role-playing simulations to teach any concept.
Pre-req: CIT 441 with a minimum grade of D.
Students will work in teams to develop games for mobile devices. Emphasis on mobile development tools, techniques, cross platform development, and standard practices, using open-source software.
Pre-req: CIT 340 with a minimum grade of D.
This course teaches students database programming available to relational database systems. Students will work with fourth generation languages to analyze, design and develop, and execute programs in a database environment.
Pre-req: CIT 365 or IST 365.
Capstone course in CIT. A professionally supervised internship within the student's area of emphasis in the Computer and Information Technology major. Must be pre-approved before registering.
Independent study for selected juniors and seniors under supervision of faculty; may be repeated only once.
Capstone course in CIT. Students will plan, implement, and present a solution to a real-world problem within their emphasis demonstrating their technical and professional skills. Must be pre-approved before registering.
Computer Science
Central principles and big ideas of computing: problem-solving, computational and critical thinking, abstraction, creativity, reasoning, data, algorithms, recursion, visualization, and limits of computation. Solve real-world problems with computing.
Pre-req: ACT Math with a score of 17 or SAT Verbal Before March 16 with a score of 400 or SAT MATH SECTION SCORE with a score of 440 or Placement Math After SP17 with a score of 101 or MTH 102 with a minimum grade of C or MTH 102B with a minimum grade of C or MTH 127 with a minimum grade of C or MTH 130 with a minimum grade of C or MTH 132 with a minimum grade of C or MTH 229 with a minimum grade of C or MTH 229H with a minimum grade of C.
Pre-req: ACT Math with a score of 24 or SAT Mathematics Before Mar. 16 with a score of 560 or SAT MATH SECTION SCORE with a score of 580 or MTH 127 or MTH 130 and MTH 132 (may be taken concurrently) or MTH 229 (may be taken concurrently) or MTH 229H (may be taken concurrently).
Object-oriented and algorithmic problem solving principles and techniques; programming with classes in an integrated programming environment; and program debugging.
Pre-req: ACT Math with a score of 24 or SAT Mathematics Before Mar. 16 with a score of 560 or SAT MATH SECTION SCORE with a score of 580 or MTH 127 or MTH 130 and MTH 132 (may be taken concurrently) or MTH 129 (may be taken concurrently) or MTH 129H (may be taken concurrently).
Object-oriented analysis and design, advanced programming with classes, arrays, strings, sorting, searching, I/O, GUI development, system life cycle and software development methodologies. CR/PR: CS 110
Pre-req: CS 110 with a minimum grade of D or CS 110H with a minimum grade of D.
An introduction to computer programming, software design, and algorithm analysis and implementation. Abstract concepts illustrated with examples and exercises drawn from the mathematical and physical sciences. Primarily for non-CS majors.
Pre-req: MTH 140 or MTH 229 (may be taken concurrently) or MTH 229H (may be taken concurrently).
Design and implementation of data structures including stacks, queues, lists, trees, heaps, balanced trees, and graphs. Other topics include hasing, threading, data parsing, program testing, correctness, efficiency, and exceptions.
Pre-req: CS 120 with a minimum grade of D and MTH 220 (may be taken concurrently) with a minimum grade of D.
Advanced techniques for designing and analyzing algorithms, including asymptotic analysis; data structures; divide-and-conquer algorithms and recurrences; greedy algorithms; dynamic programming; graph algorithms; randomized algorithms; and NP-complete problems.
Pre-req: CS 210 with a minimum grade of D and (MTH 229 with a minimum grade of D or MTH 229H with a minimum grade of D) and MTH 220 (may be taken concurrently) with a minimum grade of D.
EMERGING TOPICS IN COMPUTER SCIENCE.
EMERGING TOPICS IN COMPUTER SCIENCE.
EMERGING TOPICS IN COMPUTER SCIENCE.
EMERGING TOPICS IN COMPUTER SCIENCE.
Pre-req: CS 210 with a minimum grade of D.
This course provides a broad introduction to software engineering theories, methods, and tools. Requires substantial writing. Topics include requirements engineering, analysis and design, implementation, versioning, and testing.
Pre-req: MTH 220 and CS 210 and ENG 354 (may be taken concurrently).
Pre-req: CS 305 with a minimum grade of D.
Testing techniques and validation of system requirements. Design reviews and code inspections; unit, integration, system, regression, load, stress, user acceptance, and regression testing; statistical testing; test strategies and project metrics.
Pre-req: CS 310 and MTH 345.
Modern operating systems design and implementation: multi-tasking and time sharing, concurency and synchronization, interprocess communication, resource scheduling, memory management, deadlocks, I/O, file systems, and security.
Pre-req: CS 210.
A supervised experience in which the student works for a company to gain practical experience in a students major.
Pre-req: ENGR 217 with a minimum grade of D.
Mathematical theory and practical tools and techniques for generating realistic pictures using computers. This is a project-centered course and involves extensive programming using the open GL standard.
Pre-req: CS 210 with a minimum grade of D.
Design and analyze structure of major hardware components of computers including: ALU, instruction sets, memory hierarchy, parallelism through multicore and many core, storage systems and interfaces.
Pre-req: CS 300 with a minimum grade of D.
Software design and development targeting high performance computing architectures. Multi-core and many-core systems: I/O, file systems, performance metrics. Programming models include MPI, OpenMP, MapReduce, CUDA, OpenCL.
Pre-req: CS 402.
Study of computational algorithms and programming techniques for various bioinformatics tasks including parsing DNA files, sequence alignments, tree construction, clustering, species identification, principal component analysis, correlations, and gene expression arrays.
Pre-req: CS 215.
Study of data models, data description languages, query languages including relational algebra and SQL, logical and physical database design, transactions, backup and recovery. Design and implementation of a database application.
Pre-req: CS 210 with a minimum grade of D.
The design of systems containing embedded computers. Micro-controller technology, assembly language and C programming, input/output interfacing, data acquisition hardware, interrupts, and timing. Real-time operating systems and application programming. Application examples.
Pre-req: CS 402 with a minimum grade of D or EE 340 with a minimum grade of D.
Genetic algorithms, evolutionary strategies, and genetic programming. Methods of knowledge representation using rough sets, type-1 fuzzy sets, and type-2 fuzzy sets. Neural network architectures and their learning algorithms.
Pre-req: CS 300.
Concepts and issues in physical and cyber security; technological vulnerabilities found in operating systems, database servers, web servers, internet, and local area networks; developing defensive and offensive security measures.
Pre-req: CS 320 with a minimum grade of D.
Advanced course on the functions and purposes of the latest development in cyber security techniques and tools used to create, secure, protect and remediate cyber-infrastructures from various cyber threats.
Pre-req: CS 430 with a minimum grade of D or CS 340 with a minimum grade of D.
Fundamental algorithms and computational models for core tasks in natural language processing: word and sentence tokenization, parsing, information and meaning extraction, spelling correction, text summarization, question answering, and sentiment analysis.
Pre-req: (CS 215 and MTH 220).
Tools and techniques for optimizing the design and construction of software-intensive systems by considering system issues and making engineering tradeoffs in conflicting criteria and interacting decision parameters.
Pre-req: CS 330 and CS 340 and CS 350.
An in-depth and hands-on involvement in a real-world project under direct professional supervision. The project may be on-campus or off-campus. Requires prior apporval of the internship director, who is a member of the computer science faculty.
Pre-req: CS 300 with a minimum grade of D or CS 215 with a minimum grade of D.
EMERGING TOPICS IN COMPUTER SCIENCE.
EMERGING TOPICS IN COMPUTER SCIENCE.
EMERGING TOPICS IN COMPUTER SCIENCE.
EMERGING TOPICS IN COMPUTER SCIENCE.
EMERGING TOPICS IN COMPUTER SCIENCE.
EMERGING TOPICS IN COMPUTER SCIENCE.
EMERGING TOPICS IN COMPUTER SCIENCE.
EMERGING TOPICS IN COMPUTER SCIENCE
Application of technical and professional skills in solving a real-world problem in a team environment. Discuss professional code of conduct, societal issues, and transition from student to industry professional.
Pre-req: CS 310 with a minimum grade of D and CS 410 with a minimum grade of D.
Computer & Info Security
Introduction to the various technical and administrative aspects of Computer and Information Security. Understanding key issues associated with protecting information assets, determining the protection needed and response to security incidents.
Pre-req: CS 105 or CS 110 or CS 110H.
Introduction to information security policies, sociological and psychological issues in policy implementation in general. Discuss the lifecycle of policy creation, enactment in different domains of security and policy structure.
Pre-req: CS 105 with a minimum grade of D or CS 110 with a minimum grade of D or CS 110H with a minimum grade of D.
This course covers the basic aspects of modern crytography, including block ciphers, pseudorandom functions, symmetric encryption, Hash functions, message authentication, number theoretic primitives, public-key encryption, digital signatures and zero knowledge proofs.
Pre-req: CS 210 and (STA 225 or STA 345).
Concepts and issues in physical and cyber security; technical vulnerabilities found in operating systems, database servers, Web servers, Internet, and local area networks; developing defensive and offensive security measures.
Pre-req: CS 320 with a minimum grade of D.
Introduction of System Administration and related topics, including trouble-shooting system and network problems, hardware and software configuration and installation, basic scripting, and security aspects of Internet hosts.
Pre-req: CS 320 with a minimum grade of D.
Comprehensive analysis on the utilization and augmentation of cyber security technologies to harden cyber infrastructure and its interconnected cyber-physical systems against various attacks.
Pre-req: CS 320 with a minimum grade of D.
Foundation technical and analytical skills to implement comprehensive computer security that encompass designing secure systems, information security, protecting information assets, managing computer security, risk mitigation strategies, and incident response.
Pre-req: CYBR 350.
Advanced course on the functions and purposes of the latest development in cyber security techniques and tools used to create, secure, protect and remediate cyber-infrastructures from various cyber threats.
Pre-req: CYBR 330 with a minimum grade of D or CS 330 with a minimum grade of D.
An in-depth and hands-on involvement in a real-world project under direct professional supervision. The project my be on-campus or off-campus.
Study of an advanced topic not normally covered in other courses.
Study of an advanced topic not normally covered in other courses.
Study of an advanced topic not normally covered in other courses.
Study of an advanced topic not normally covered in other courses.
Study of an advanced topic not normally covered in other courses.
Study of an advanced topic not normally covered in other courses.
Independent study for selected juniors and seniors under supervision of faculty; may be repeated only once.
Independent study for selected juniors and seniors under supervision of faculty; may be repeated only once.
Independent study for selected juniors and seniors under supervision of faculty; may be repeated only once.
Independent study for selected juniors and seniors under supervision of faculty; may be repeated only once.
Application of technical and profesional skills in solving a real-world problem in a team environment. Discuss professional code of conduct, societal issues, and transition from student to industry professional.
Pre-req: CYBR 330.
Electrical Engineering
Number systems, digital components and systems, Boolen switching algebra; the analysis and design of combinational and sequential circuits; introduction to computer architecture.
Pre-req: MTH 220 with a minimum grade of D.
This course introduces students to the fundamental principles of programming for solving engineering programs. It familiarizes students with the process of translating real-life engineering problems to computation problems.
Pre-req: CS 110.
Provide a study of Data Structure, operating systems' concepts, HW designed methods and relationship between hardware and software.
Pre-req: EE 210 with a minimum grade of D.
This course provdies in depth coverage of all aspects electromagnetics, with a focus on field and wave generation and propagation. The course will focus on more practical aspects of E-M theory.
Pre-req: EE 202 with a minimum grade of D and MTH 335 with a minimum grade of D.
This class introduces students to concepts of probability and random variables necessary for study of signals and systems involving uncertainty; applications to elementary problems in detection, signal processing and communication.
Pre-req: MTH 335.
This course will introduce the students to the fundamental concepts of probabiliity theory applied to engineering problems, including elementary set operations, sample spaces and probability laws, conditional probability and independence.
Pre-req: EE 320 with a minimum grade of D.
This course is a study of the factors influencing the design of hardware and software elements of computer systems. Topics include: instruction set design; cache and virtual memory organizations.
Pre-req: EE 211 with a minimum grade of D.
Introduction to basic physical properties of solid materials; some solid state physics employed, but major emphasis is on engineering applications based on semiconducting, magnetic, dielectric and superconducting phenomena.
Pre-req: EE 202 with a minimum grade of D.
Application of state variable and frequency domain techniques to modeling, analysis and synthesis of single input, single output linear control systems.
Pre-req: EE 202 with a minimum grade of D.
Fundamentals of energy-handling electric circuits, analysis of power electric circuits, elements of linear and rotating electric machinery, induction, and DC machinery.
Pre-req: EE 310 with a minimum grade of D.
Introduction to the fundamental concepts of computer communication networks. Topics include the OSI reference model, the physical data link, network, and transport layers, TCP/IP, LANs, ALOHA, routing and flow controls.
Pre-req: EE 310 with a minimum grade of D and EE 320 (may be taken concurrently) with a minimum grade of D.
Hardware and software for real-time microprocessor-based digital systems. Basic concepts of on-chip components related to digital system functionality. Introduction to 32-bit machines with treatment of 16- and 8- bit machines.
Pre-req: EE 204 with a minimum grade of D and EE 340 with a minimum grade of D.
This course will cover topics in the field of RF/microwave engineering, such as transmission lines, waveguides, impedance matching, microwave resonators, RF filters, RF amplifiers and an introduction to antenna design.
Pre-req: EE 375 with a minimum grade of D.
Application of design process and project engineering as practiced in industry; team approach to the design process; development of a project proposal; proposed project implemented in EE 420.
This course covers the analysis and design of digital integrated circuits using CMOS technology. The course emphasizes design of circuit layout, and HSPICE and IRSIM for simulations, lab included.
Pre-req: ENGR 204.
Introduction to the design process and project engineering as practiced in industry; student teams apply the design process by developing a project from proposal; proposed project implemented in EE 420.
This course provides fundamental of hardware design methodologies and modeling. It covers the essentials of HDL, embedded C and hardware-embedded systems using VHDL language, Lab included.
Pre-req: EE 380 with a minimum grade of D.
This course covers the transformation, manipulation of signals. It introduces the concepts of discrete-time, discrete frequency domains, representations and analyses of systems, and filter designs, lab is included.
Pre-req: EE 350.
Application of the design process and project engineering as practiced in industry; team approach to the design process; completion of project based on proposal from EE 410 or EE 412.
Pre-req: EE 410 with a minimum grade of D or EE 412 with a minimum grade of D.
The course emphasizes power engineering area that includes power generation, transmission, and distribution.
Pre-req: EE 370 with a minimum grade of D.
Feedback systems in which a digital computer is used to implement the control law; Z-transform and time domain methods serve as a basis for control systems design.
Pre-req: EE 360.
Fundamental Radio Frequency (RF) and microwave circuit analysis; return loss, insertion loss; transmission lines, lumped elements, impedence matching; theory, analysis and design of basic RF and microwave passive circuits.
Pre-req: EE 320.
This course provides an introduction to the principles of real-time digital signal processing and hands-on development of real-time signal processing algorithms.
Pre-req: EE 320.
Principles of power electronics. Including understanding of power semiconductor devices, passive components, basic switching circuits, AC/DC, DC/DC, DC/AC converters and their applications.
Pre-req: (ENGR 202 with a minimum grade of D or EE 202 with a minimum grade of D) and EE 310 with a minimum grade of D.
Special Topics
Special Topics
Special Topics
Special Topics
Independent Study
Independent Study
Independent Study
Independent Study