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.

Prerequisites: CSCE 1137 and CSCE 1337.

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.

Prerequisites: CSCE 1337, CSCE 1137, and MATH 3365

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.

Prerequisites: CSCE 2330 and CSCE 3314

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.

Prerequisites: CSCE 1337 and CSCE 3301

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.

Prerequisites: ENGR 2305 and CSCE 1336 or COSC 1336.

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