Undergraduate Catalog

2007-08 Academic Year

Computer Science and Engineering

Computer Science and Engineering, CSCE

1010. (COSC 1300 or 1400) 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 and engineering major or minor.

1020. (COSC 1315 or 1415) Program Development. 4 hours. (3;1) Introduction to problem-solving, algorithms and programming in a high-level language. May not be counted toward a computer science major or minor. Prerequisite(s): high school algebra or equivalent.

1030. (COSC 1336 or 1436) Computer Science I. 4 hours. (3;1) Introduction to computer science and engineering, problem-solving techniques, algorithmic processes, software design and development. Prerequisite(s): high school algebra or equivalent.

1040. (COSC 1337 or 1437) Computer Science II. 3 hours. Continuation of CSCE 1030. Software design, structured programming, object oriented design and programming. Prerequisite(s): CSCE 1030 and MATH 1650 (may be taken concurrently).

2050. (COSC 2336 or 2436) Computer Science III. 3 hours. Elementary data structures, practice in software design, implementation and testing with emphasis on creating and modifying larger programs. Prerequisite(s): CSCE 1040.

2410. Programming Laboratory. 1–4 hours. Practice with computer languages and processing techniques. Prerequisite(s): CSCE 1040 or BCIS 3620 or BCIS 3690.

2610 (COSC 2325 or 2425). Computer Organization. 3 hours. Principles of computer systems organization, instruction sets, computer arithmetic, data and control paths, memory hierarchies. Prerequisite(s): CSCE 2050. Corequisite(s): EENG 2710. (Same as EENG 3710.)

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

3010. Signals and Systems. 3 hours. Elementary concepts of continuous-time and discrete-time signals and systems. Specific topics include linear time-invariant (LTI) systems, impulse response, convolution, Fourier series, Fourier transforms, frequency-domain analysis of LTI systems, Laplace transforms, z-transforms, and rational function descriptions of LTI systems. Prerequisite(s): MATH 2730 and EENG 2610. (Same as EENG 2620.)

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 3010 and MATH 1780. (Same as EENG 3810.)

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): CSCE 2050.

3110. Data Structures and Algorithms. 3 hours. Computer storage structures; storage allocation and management; data sorting and searching techniques; data structures in programming languages. Prerequisite(s): CSCE 2050 and MATH 2770.

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): CSCE 3110.

3300. 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): CSCE 3110.

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. Prerequisite(s): CSCE 2610.

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 3600.

3530. Introduction to Computer Networks. 3 hours. Introduction to data communications; asynchronous, synchronous, networks and current technology. Prerequisite(s): CSCE 2610.

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): CSCE 2050 and 2610.

3610. Machine Structures. 3 hours. Computer systems organization; micro- and large-scale machines; microprocessors; processor and peripheral hardware characteristics. Prerequisite(s): CSCE 2610.

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): CSCE 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.

4010. Engineering Ethics. 2 hours. The effect of technology in modern society, with emphasis on the role of the engineering and technical professionals. Prerequisite(s): junior standing.

4110. Algorithms. 3 hours. Algorithm design methodologies, sorting, graph algorithms, dynamic programming, backtracking, string searching and pattern matching. Prerequisite(s): CSCE 3110.

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

4220. 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): CSCE 4210.

4230. 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): CSCE 3110.

4310. 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): CSCE 3210.

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

4410. Software Development I. 3 hours. The software development process, requirements analysis, software design concepts and methodologies, structured programming, debugging and testing. Prerequisite(s): CSCE 3110.

4420. Software Development II. 3 hours. Software testing methodologies, software reliability, maintenance, project management and configuration management. Prerequisite(s): CSCE 4410.

4430. Programming Languages. 3 hours. Formal definition of programming languages including specification of syntax and semantics. Comparison of several existing high-level languages. Prerequisite(s): CSCE 3110.

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 3610 and 4620.

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 3600.

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): CSCE 3530.

4540. TCP/IP Protocols. 3 hours. Investigation of the TCP/IP protocol suite, components and interaction with operating systems. Topics include special protocols, routing protocols, MobileIP, as well as FTP, TELNET, SMTP, DHCP, HTTP, DNS, etc. Prerequisite(s): CSCE 3530.

4550. Introduction to Computer Security. 3 hours. Security goals, threats and vulnerabilities. Cryptography, program security and operating system security issues. Basic network security. Planning, policies and risk analysis. Prerequisite(s): CSCE 2610.

4560. Secure Electronic Commerce. 3 hours. Electronic commerce technology, models and issues, with emphasis on security issues. Supporting technology such as cryptography, digital signatures, certificates and public key infrastructure (PKI). Security-conscious programming for web-based applications. Exposure to interaction between technical issues and business, legal and ethical issues. Prerequisite(s): CSCE 3110.

4600. 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): CSCE 3600.

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 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 3600 and 3610.

4730. 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 4750. Prerequisite(s): CSCE 3730 and ELET 3720. (Same as EENG 4710.)

4750. VLSI Testing. 3 hours. Advanced experience with CAD tools for VLSI design, IC testing. Design project from CSCE 4730 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 4730.

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 science or computer engineering.

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): CSCE 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 constraints 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 science or computer engineering and consent of department.

4930. Topics in Computer Science and Engineering. 3 hours. Topics vary. May be repeated for credit. Prerequisite(s): junior or senior standing in computer science or computer engineering and consent of instructor.

4940. 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.

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

4951. Honors College Capstone Thesis. 3 hours. Major research project prepared by the student under the supervision of a faculty member and presented in standard thesis format. An oral defense is required of each student for successful completion of the thesis. Prerequisite(s): completion of at least 6 hours in honors courses; completion of at least 12 hours in the major department in which the thesis is prepared; approval of the department chair and the dean of the school or college in which the thesis is prepared; approval of the dean of the Honors College. May be substituted for HNRS 4000.

Undergraduate Working Catalog

Computer Science and Engineering Courses

Undergraduate Admissions

(800) UNT-8211
(868-8211) (toll-free)
undergrad@unt.edu

UNT Switchboard

(940) 565-2000

Campus Tours

Schedule a tour online
(940) 565-4104