Computer Science and Engineering

Computer Science, CSCI

1100 (COSC 1300). Introduction to Computer Science. 3 hours. (2;0;1) A basic course covering logical operation and organization of digital computers, computer hardware and software, number systems, and application software packages. May not be counted toward computer science major or minor.

1110 (COSC 1415). Program Development. 4 hours. (3;1) Problem-solving techniques, algorithmic processes, top-down design and structured programming in a high-level language. Prerequisite(s): high school algebra or equivalent.

1120 (COSC 2415). Structured Programming. 4 hours. (3;1) Continuation of CSCI 1110. Design techniques, structured programming, software testing, documentation, introduction to data structures and file processing. Emphasis on creating and modifying larger programs. Prerequisite(s): CSCI 1110, MATH 1650 (may be taken concurrently), and one semester of C or C++ programming.

2010 (COSC 2325). Assembly Language Programming. 3 hours. Computer as a machine through use of assembly language programming. Prerequisite(s): CSCI 1120 (may be taken concurrently), or BCIS 3620 or 3690.

2320. Programming Laboratory. 1-4 hours. Practice with computer languages and processing techniques. Prerequisite(s): CSCI 1120, or BCIS 3620 or 3690. May be repeated for credit with consent of department.

2900. Special Problems in Computer Science. 1-4 hours. Individualized instruction in theoretical or experimental problems. For elective credit only.

3100. Computer Organization. 3 hours. Principles of computer systems analysis and design; system hardware and software characteristics. Comparison of existing computer facilities. Prerequisite(s): CSCI 2010 and ELET 2720. (Same as CSCE 2610.)

3210. Symbolic Processing. 3 hours. Introduction to symbolic processing using LISP, Prolog or related languages; recursion; building abstractions with data; modularity, objects and state; meta-linguistic abstraction. Prerequisite(s): CSCI 3400.

3400. Data Structures. 3 hours. Computer storage structures; storage allocation and management; data sorting and searching techniques; data structures in programming languages. Prerequisite(s): CSCI 1120 and MATH 2770.

3600. Principles of Systems Programming. 3 hours. Introduction to the design and operation of systems software. Analysis is made of current system software technology, including operating systems, language translation systems and file systems. Prerequisite(s): CSCI 3100 and 3400.

3780. Introduction to Computer Networks. 3 hours. Introduction to data communications; asynchronous, synchronous, networks and current technology. Prerequisite(s): CSCI 3100.

4010-4020. Software Development. 3 hours each.

4010. The software development process, requirements analysis, software design concepts and methodologies, structured programming and debugging. Prerequisite(s): CSCI 3400.

4020. Software testing methodologies, software reliability, maintenance, project management and configuration management. Prerequisite(s): CSCI 4010.

4050. Computer Game Programming. 3 hours. Programming for modern computer games, including real-time, event-driven, and multimedia programming techniques. Prerequisite(s): CSCI 3400.

4052. Advanced Game Programming. 3 hours. Advanced game engine programming techniques, including real-time 3-D graphics programming, data structures for occlusion and collision detection, character animation, and network game programming for multiplayer games. Prerequisite(s): CSCI 4050.

4250. Survey of Computer Languages. 3 hours. Formal definition of programming languages including specification of syntax and semantics. Comparison of several existing high-level languages. Prerequisite(s): CSCI 3400.

4300. File Organization and Processing. 3 hours. File design and implementation; operating systems, survey of peripheral device characteristics, sorting, information storage and retrieval, list processing and direct access techniques, job control language, and security and privacy. Prerequisite(s): CSCI 3400.

4330. Topics in Computer Science. 3 hours. Selected topics on computer science. Prerequisite(s): CSCI 3400 and consent of instructor. May be repeated for credit as topics vary.

4350. Introduction to Database Systems Design. 3 hours. Logical and physical database system organization; logical models; design issues; secondary storage considerations. Prerequisite(s): CSCI 3400.

4410. Introduction to Artificial Intelligence. 3 hours. Introduction to concepts and ideas in artificial intelligence. Topics include search techniques, knowledge representation, control strategies and advanced problem-solving architecture. Prerequisite(s): CSCI 3210 or knowledge of LISP or PROLOG.

4420. Introduction to Computer Graphics. 3 hours. Concepts and principles, survey of present display and input technology, systems and applications. Study of basic concepts, and mathematical and geometric principles. Design and use of graphics software packages. Design and implementation of an application using available hardware and software. Prerequisite(s): CSCI 3400 and MATH 2700.

4450. Algorithm Analysis and Complexity Theory. 3 hours. Algorithm design methodologies, sorting, graph algorithms, dynamic programming, backtracking, string searching and pattern matching. Prerequisite(s): CSCI 3400 and MATH 2770.

4510. Machine Structures. 3 hours. Computer systems organization; micro-, mini- and large-scale machines; multi-processor configurations; processor and peripheral hardware characteristics. Prerequisite(s): CSCI 3100.

4540. Introduction to Operating Systems. 3 hours. Concepts in operating system analysis and design. General topics of process, resource and file management are presented and analyzed in the context of different system architectures and performance constraints. Prerequisite(s): CSCI 3600.

4600. Social Implications of Computer Science. 1 hour. The effect of computer science on the home and the workplace, with emphasis on the role of the computer professional in modern society. Prerequisite(s): junior standing.

4880. Special Computer Application Problem. 1-4 hours. Study defined by the student in applying computer science to another field. Work supervised and work plan approved by one faculty member from computer science and one from relevant application area; one to three students may work together if all faculty advisers concerned agree. Prerequisite(s): prior approval of plan by faculty supervisor. Open to advanced undergraduate students capable of developing problems independently. May be repeated for credit.

4890. Directed Study. 1-4 hours. Study by individuals, or small groups if faculty supervisor agrees. Prerequisite(s): 6 semester hours of computer science with grades of A or B; plan for study and achievements; prior consent of department chair and supervision adviser. Open to advanced undergraduate students capable of developing problems independently. May be repeated for credit.

4900-4910. Special Problems in Computer Science. 1-3 hours each. Prerequisite(s): junior or senior standing; 6 hours of computer science with grades of A or B (may include BCIS 3610); prior approval of study plan by faculty supervisor.

4920. Cooperative Education in Computer Science. 1-3 hours. Supervised field work in a job directly related to the student's major, professional field of study or career objective. Prerequisite(s): upper division classification and 12 hours of computer science (at least 6 at UNT) with a minimum GPA of 3.0; and approval of department. May not be counted toward computer science major. May be repeated for credit. Pass/no pass only.

Computer Engineering, CSCE

2020. Signals and Systems. 3 hours. Fourier Series, Fourier and Laplace transforms with emphasis on their physical interpretation. System representation by transfer functions and impulse response functions. Convolution integral. Transient response, discrete time signals and systems, sampling techniques, Z and discrete Fourier transforms. Use of software tools for analysis is integral to this course. Prerequisite(s): MATH 2730 and ENGR 2405.

2610. Computer Organization. 3 hours. Principles of computer systems organization, instruction sets, computer arithmetic, data and control paths, memory hierarchies. Pre-requisite(s): CSCI 1120, ELET 2750. (Same as CSCI 3100.)

3020. Fundamentals of Communication Theory. 3 hours. Introduction to the concepts of transmission of information via communication channels. Amplitude and angle modulation for the transmission of continuous-time signals. Analog-to-digital conversion and pulse code modulation. Transmission of digital data. Introduction to random signals and noise and their effects on communication. Optimum detection systems in the presence of noise. Prerequisite(s): CSCE 2020.

3030. Parallel Programming. 3 hours. Introduction to processing in parallel and distributed computing environment. General concepts of parallel machine models, processes, threads, mutual exclusion, synchronization, message passing. Design and analysis of parallel algorithms for engineering and scientific applications. Parallel programming using Pthreads and MPI. Prerequisite(s): CSCI 3400.

3510. Introduction to Wireless Communications. 3 hours. Fundamentals of wireless communications and networking, with emphasis on first, second, and third generation cellular systems and satellite communication. Topics include point-to-point signal transmission through a wireless channel, cellular capacity, multi-user transmissions, and mobility management.

3520. Data Communications. 3 hours. Overview of data communication, communication models and networking. Analog and digital data transmission, transmission impairments, channel capacity, asynchronous and synchronous transmission, error detection and correction, flow control and error control. Multiplexing and de-multiplexing techniques (FDM, STDM, ADSL, and xDSL). Ethernet interfaces, IEEE 802.3 and IEEE 802.11 MAC layer. Interface Standards (RS-232, RS-449 and X.21). Packet switching, Frame Relay and ATM switching, bridges, layer2 and layer3 switches. Prerequisite(s): CSCE 3020.

3650. Introduction to Compilation Techniques. 3 hours. Topics include parsing, syntax-directed translation, run-time storage management, error recovery, code generation and optimization. A significant project is required. Prerequisite(s): CSCI 3600.

3730. Reconfigurable Logic. 3 hours. Advanced concepts in Boolean algebra, use of hardware description languages as a practical means to implement hybrid sequential and combinational designs, digital logic simulation, rapid prototyping techniques, and design for testability concepts. Focuses on the actual design and implementation of sizeable digital design problems using representative computer aided design (CAD) tools. Prerequisite(s): CSCE 2610 (or CSCI 3100) and CSCI 3400.

3740. VLSI Design. 3 hours. Introduction to VLSI design using CAD tools, CMOS logic, switch level modeling, circuit characterization, logic design in CMOS, systems design methods, test subsystem design, design examples, student design project. Design project to be fabricated and tested in the follow-on course CSCE 4740. Prerequisite(s): ELET 2720 and ELET 3720.

4440. Real-Time Software Development. 3 hours. Specification of real-time system requirements, timing, synchronization and fault-tolerance issues, construction and validation of real-time software. Mathematical formalisms, design and analyses using real-time UML are also emphasized. Prerequisite(s): CSCE 4620 and CSCI 4010.

4520. Wireless Networks and Protocols. 3 hours. Architecture and elements of a wireless network. Use and process of mobility management. Signaling schemes used in wireless networks, network signaling, protocols and standards (GSM, IS-95, WAP, MobileIP, GPRS, UMTS and CDMA2000). Analysis of the operation and performance of wireless protocols. Prerequisite(s): CSCE 3510.

4530. Computer Network Design. 3 hours. Fundamental concepts, requirements and design tradeoffs, particularly as related to scheduling, congestion control, routing, and traffic management. Wireless access, mobility (including WLAN), VoIP and applications. Firewalls, NATs, VPN, high availability and optical rings. Prerequisite(s): CSCI 3780.

4610. Computer Architecture. 3 hours. Study of performance issues related to the design of high performance processors, including Instruction Level Parallelism, out-of-order instruction scheduling, branch prediction, speculative execution. Prerequisite(s): CSCE 2610 (or CSCI 3100) and CSCI 3600.

4620. Real-Time Operating Systems. 3 hours. Basic real-time operating systems concepts and services, including interrupt processing, process and thread models, real-time software architectures and development environments. Detailed study of the design and implementation of real-time applications using real-time operating systems. Focus on commercial real-time operating systems/development environments, including vxWorks, RTOS and pOSEK/pOSEKSystem. Prerequisite(s): CSCE 2610 (or CSCI 3100) and CSCI 3600.

4740. VLSI Testing. 3 hours. Advanced experience with CAD tools for VLSI design, IC testing. Design project from CSCE 3740 to be fabricated and tested. Implementation and verification of test programs, IC testing and troubleshooting, legal, economic, and ethical design issues. Oral presentations and written reports are required. Prerequisite(s): CSCE 3740.

4910. Computer Engineering Design I. 3 hours. First course in the senior capstone design sequence. Focus is the application of techniques to the design of electronic systems that have digital hardware and software components. Students apply the theory acquired from numerous engineering courses to solve real-world design problems. The design will consider realistic constraints including economic, environmental, sustainability, manufacturability, ethical, social, safety. Prerequisite(s): CSCI 3400, CSCI 3600, ELET 3720, and appropriate area electives

4915. Computer Engineering Design II. 3 hours. Second course in the senior capstone design sequence. Focus is the application of techniques to the design of electronic systems that have digital hardware and software components. Students apply the theory acquired from numerous engineering courses to solve real-world design problems. The design will consider realistic constrains including economic, environmental, sustainability, manufacturability, ethical, social, safety. Prerequisite(s): CSCE 4910.

4920. Cooperative Education in Computer Science and Engineering. 1-3 hours. Supervised field work in a job directly related to the student's major field of study or career objective. May be repeated for credit. Prerequisite(s): junior or senior standing in computer engineering and consent of department.

4930. Topics in Computer Science and Engineering. 3 hours. Topics vary. May be repeated for credit. Prerequisite(s): CSCI 3400, CSCE 3730 and consent of instructor.

4950. Special Problems in Computer Engineering. 1-3 hours. Prior approval of plan of study by faculty supervisor. Prerequisite(s): junior or senior standing in computer engineering.

4890. Directed Study. 1-3 hours. Study by individuals or small groups if faculty supervisor agrees. A plan of study approved by the faculty supervisor along with the study will be graded by the faculty supervisor; must be approved by the chair of the department. Prerequisite(s): junior or senior standing in computer engineering.

Top | Department of Computer Science and Engineering | Undergraduate Course and Subject Guide | UNT Undergraduate Catalog Shortcuts | Additional Undergraduate Literature | Graduate Course and Subject Guide | UNT home