Computer Science & Engineering (CSCE)
CSCE 1136 Funds of Programming Lab
Laboratory course to accompany CSCE 1336. Laboratory exercises reinforce the particular paradigms that are stressed in CSCE 1336. Students will develop and run functional programs that solve elementary algorithmic problems. Students will also gain experience with compiling, finding, correcting syntax errors, and executing programs. This course places importance on scientific communication and collaboration methods.
Corequisites: CSCE 1336.
CSCE 1137 Object-Oriented Program Lab
Laboratory course to accompany CSCE 1337. Laboratory exercises reinforce the particular paradigms that are stressed in CSCE 1337. Students will develop programs in an object-oriented programming language by practicing the use of a variety of abstract data types and data structures. Students will also gain experience on using advanced design tools and the skills to analyze, debug and correct errors in programs. This course places importance on scientific communication and collaboration methods.
Prerequisites: CSCE 1336 and CSCE 1136.
Corequisites: CSCE 1337.
CSCE 1336 Fundamentals of Programming
Introduces the fundamental concepts of a high‐level programming language and provides a comprehensive introduction to programming for STEM majors. Topics include data types, flow of control, functions, I/O streams, arrays, and the mechanics of running, testing, and debugging. This course assumes computer literacy.
Corequisites: CSCE 1136
CSCE 1337 Object Oriented Programming
A continuation of CSCE 1336. Emphasis is placed upon applying the object-oriented paradigms to develop the skills in data abstraction and object design where language features, essential programming techniques, and design guidelines are presented from a unified point of view.
Prerequisites: CSCE 1136 and CSCE 1336.
Corequisites: CSCE 1137.
CSCE 2330 Digital Logic Design
Hardware implementation of arithmetic and logical functions, organization and design of digital systems.
CSCE 3301 Algorithms & Data Structures
Builds on the foundation provided by CSCE 1336 and CSCE 1337 with an increased emphasis on algorithms, data structures, and software engineering. The treatment of programming concepts will be both in terms of the object-oriented paradigm as well as independent of any programming language.
CSCE 3314 Electronic Devices & Apps
Theory and application of solid state electronic devices. Physical principles of carrier motion in semiconductors leading to operating principles and circuit models for diodes, bipolar transistors, and field effect transistors. Applying the skills in designing amplifiers and op-amp based circuits.
Prerequisites: ENGR 2305
CSCE 3326 Operating Systems & Networking
Introduces the fundamentals of operating systems together with those of networking and communications.
Prerequisites: MATH 3365.
CSCE 3340 Microprocessor Systems
Basic computer structure, the instruction set, addressing modes, assembly language programming, assembly language subroutines, arithmetic operations, programming in C, implementation of C procedures, elementary data structures, input and output and a survey of microprocessor based design.
Prerequisites: CSCE 2330
CSCE 3390 Software Development
Provides an intensive implementation-oriented introduction to the software-development techniques used to create medium-scale interactive applications, focusing on the use of large object- oriented libraries to create well-designed graphical use interfaces. Topics include event-driven programming, computer graphics, human-computer interaction (HCI), and graphical user interfaces.
CSCE 4101 Soft Eng & Proj DevelopI Lab
Laboratory course to accompany CSCE 4301. Laboratory exercises help students to gather and document the requirements of the project that is defined in CSCE 4301. Students will also develop and document a design solution for the project. This course places importance on scientific communication and collaboration methods.
Prerequisites: CSCE 3301.
Corequisites: CSCE 4301.
CSCE 4203 Dig Electronic Circuit Design
Theory of digital and electronics circuits. Digital logic families TTL, IIL, ECL, NMOS, CMOS, and GaAs. Large signal models for transistors. The course includes the study of the MOS device, critical interconnect and gate characteristics that determine the performance of VLSI circuits, using CADENCE VLSI tools.
CSCE 4210 Computer Engineering Design
This course emphasizes hardware design and debugging. Topics include combinational and sequential logic design using VHDL based upon PLA/PLD.
Prerequisites: CSCE 2330 and CSCE 3320
CSCE 4214 Data Communication
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, network topologies, routing and flow control.
Prerequisites: CSCE 2330
CSCE 4220 Programming Languages
The study of programming language design including syntax, semantics, behavior, and implementation issues in imperative, functional, logic, and object-oriented languages. Topics may include type theory, concurrency, data dependency, and nondeterminism.
CSCE 4240 Intro to Unmanned Aerial Vehic
Overview of unmanned aerial systems: history, platforms, operations, command and control, sensor systems, payloads, regulations, policy. Review of Communications, Roles of Satellites, Image Capturing, Airframe and Propulsion Components, Stability and Control. Current developments in unmanned aerial systems and its relevance to border security.
Prerequisites: Senior Standing or approval of instructor.
CSCE 4301 Software Engnr&Proj Develop I
Principles of software engineering, design, and their applications in the development of a two-semester software project. Students work in teams to gather projects’ requirements, design a solution, and implement their design. The students also practice good project management using state-of-the-art software engineering processes. At the beginning of the first semester, projects are defined by the instructor and their requirements are documented by the teams. The students then work on designing and implementing their solutions in the remaining period of the first semester and the proceeding semester, culminating in a formal presentation of the results at the end of CSCE 4302. This course should be taken the semester preceding CSCE 4302.
Prerequisites: CSCE 3301.
Corequisites: CSCE 4101.
CSCE 4302 Software Engr&Proj Develop II
Continuation of CSCE 4301 to work on the software project initiated in the prior semester.
Prerequisites: CSCE 4301
CSCE 4310 Computer Security
Fundamental concepts and principles of computer security, operating system and network security, private key and public key cryptographic algorithms, hash functions, authentication, firewalls and intrusion detection systems, IPSec and VPN, wireless and web security.
Prerequisites: Senior standing or approval of instructor
CSCE 4315 Embedded Systems
Characteristics of embedded systems, microprocessors and microcontrollers, system design, modular programming, interface devices, memory management, interrupts, input/output applications, multitasking, and simulation. Interchangeable with SENG 4315.
CSCE 4320 Computer System Architecture
I/O organization, memory organization including virtual memory, cache memory mapping, pipelining, and multiprocessing, CISC and RISC microprocessors.
Prerequisites: CSCE 2330 and CSCE 3320
CSCE 4350 Comp Approach to Crim Justice
Statistical and algorithmic methods in criminal justice system, predictive policing, sentencing, applications of this approach to real-time risk assessments for bail decisions and tests for discrimination in traffic stops.
Prerequisites: Senior Standing or approval of instructor
CSCE 4390 Comp Eng Senior Design Project
This capstone course provides students the experience of implementing (including building, testing, and documenting) a project, within budget and on schedule. Course requirements include a written report and oral presentation. To be taken during the semester of graduation.
Prerequisites: Senior Standing
CSCE 4395 Undergraduate Research
Students work on a computer engineering research project. The topic is chosen by the student and approved by the instructor.
Prerequisites: Permission of instructor and department