Undergraduate Catalog

2008-09 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.

1035. Information Systems I. 3 hours. Introduction to the design of medium- to large-scale enterprise information systems and distributed systems using appropriate framework. Introduces tools and techniques for building such systems and incorporates project-based learning as students work in teams to apply their knowledge in a semester-long development activity. Prerequisite(s): CSCE 1030; MATH 1650 (may be taken concurrently).

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

1045. Information Systems II. 3 hours. Continues the concepts introduced in Information Systems I with introduction of active content, data-driven content and service-oriented architectures. Students are organized in teams to complete a large-scale development activity using the knowledge and tools presented in the course. Prerequisite(s): CSCE 1035.

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). Assembly Language and Computer Organization. 3 hours. Principles of computer systems organization, instruction sets, computer arithmetic, data and control paths, memory hierarchies, and assembly language. Prerequisite(s): CSCE 2050. Corequisite(s): EENG 2710.

2615. Enterprise Systems Architecture, Analysis and Design. 3 hours. Overview of software architectures for information systems starting with requirements and proceeding through the analysis and design aspects of the software development lifecycle. Introduction to a variety of implementation methodologies as well as alternate architectural paradigms. Laboratory and project activities expose students to the design and specification of IT systems to meet a variety of business and technical problem environments. Prerequisite(s): CSCE 1040 and 1045.

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): EENG 2610; and MATH 2730 or 3310. (Same as EENG 2620.)

3020. Communications Systems. 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; EENG 3510; and MATH 1780 or 3680. (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 and message passing. Design and analysis of parallel algorithms for engineering and scientific applications. Parallel programming using message passing and shared memory paradigms. Prerequisite(s): CSCE 2050.

3055. IT Project Management. 3 hours. Provides students with the tools and techniques needed to manage a wide variety of IT systems projects, including software design and development, IT systems design and installation, network management and support, and others. Students develop and practice skills through the use of case studies and other project-based exercises. 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.

3410. Advanced Programming. 3 hours. Advanced features and topics in modern programming languages and introduction to a variety of languages, and advanced programming concepts and methodologies. Topics vary by section and semester. Prerequisite(s): CSCE 2050. May be repeated for credit as topics vary.

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.

3535. Introduction to Network and Security Management. 3 hours. Introduction to basic concepts in synchronous and asynchronous data communications, network architectures, protocols and current technology. Addresses basic network and information security issues and protection schemes with laboratory exercises designed to expose students to a variety of network architectures, security threats and risk mitigation strategies. Prerequisite(s): CSCE 2615.

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.

3605. IT Systems and Administration. 3 hours. Prepares students with an understanding of operating systems structure and operation including the concepts of processes, resource and file management, and performance. Students also develop an understanding of operating system design, systems software and maintenance, as well as gain proficiency in the development of useful scripts, device drivers and utility programs written in high-level languages and native scripting environments. Prerequisite(s): CSCE 2615.

3612. Embedded Systems Design. 3 hours. Computer systems as embedded computing elements and micro-controllers. System specification using UML or other high-level abstract models. Issues and constraints on embedded computing systems, including power, performance, memory and size. Use of DSP, ASIC and micro-controllers in a single design. Prerequisite(s): CSCE 2610, EENG 2710.

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.

3850. Introduction to Computational Life Science. 3 hours. Survey treatment of the applications of computational paradigms in the natural and physical sciences. Designed to have a broad appeal to natural and physical science students as well as computer science students. Prerequisite(s): CSCE 2050 or consent of instructor. (Same as BIOL 3850.)

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. Game Programming I. 3 hours. Introduction to game programming, including real-time, event-driven, and multimedia programming techniques. Graphics, sound and input programming. Students learn how to program a billboard game in 3D with constrained camera motion. Prerequisite(s): CSCE 2050.

4215. Programming Math and Physics for Games. 3 hours. Fundamentals of game math and physics for game development, including linear algebra, matrix math for graphics, quaternions, basic physics equations, game math and physics implementation, physics engines. Prerequisite(s): CSCE 2050, MATH 2700, PHYS 1710/ 1730.

4220. Game Programming II. 3 hours. Game engine programming techniques, including real-time 3D graphics programming, shader techniques, terrain rendering, level of detail, collision detection, particle engines, 3D sound and character animation. 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 and MATH 2700.

4240. Introduction to Digital Image Processing. 3 hours. Covers fundamental knowledge of digital image processing techniques, including image formation, filtering and image enhancement, restoration, region and edge segmentation, and image coding. Prerequisite(s): CSCE 3110 or equivalent.

4250. Topics in Game Development. 3 hours. Advanced topics in game development, possibly including but not limited to character animation, procedural content generation, shader techniques and graphics special effects. Discussion of articles from the recent academic and technical literature on game development and related material from relevant computer science areas. Prerequisite(s): CSCE 4220. May be repeated for credit as topics vary.

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.

4355. Database Design and Information Integration. 3 hours. Introduces students to use of database systems and other information storage and retrieval techniques in the design and development of information-driven systems. Students gain experience in the design, development and use of databases, information storage, search and retrieval systems, and the associated tools. Students also integrate information and database components with additional software components to create data-driven applications. Prerequisite(s): CSCE 2050.

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

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. Prerequisite(s): EENG 2710 and 3510. (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.

4810. Biocomputing. 3 hours. Introduction to computation problems inspired by the life sciences and overview of available tools. Methods to compute sequence alignments, regulatory motifs, phylogenetic trees and restriction maps. Prerequisite(s): CSCE 3850. (Same as BIOL 4810; taught with CSCE 5810.)

4820. Computational Epidemiology. 3 hours. Application of computational methods to problems in the fields of public health. Design and implementation of disease outbreak models. Prerequisite(s): CSCE 3850 or consent of instructor. (Same as BIOL 4820; taught with CSCE 5820.)

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. May be repeated for credit.

4905. Capstone I. 3 hours. First of a two-course sequence in which students develop a complex IT system starting from customer requirements and progressing through the entire analysis, design, implementation, testing and delivery lifecycle. Students work in teams to develop a project plan, complete the technical components of the project, prepare a variety of deliverable documents, and finally deliver the finished product to the customer. The first course focuses on the analysis and design of the system. Prerequisite(s): CSCE 3055.

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 3612 and EENG 3510 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.

4925. Capstone II. 3 hours. Second of a two-course sequence in which students develop a complex IT system starting from customer requirements and progressing through the entire analysis, design, implementation, testing and delivery lifecycle. Students work in teams to develop a project plan, complete the technical components of the project, prepare a variety of deliverable documents, and finally deliver the finished product to the customer. The second course focuses on the implementation, testing and delivery of the system. Prerequisite(s): CSCE 4905.

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 advisors 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)
AskUNT: unt.custhelp.com

UNT Switchboard

(940) 565-2000

Campus Tours

Schedule a tour online
(940) 565-4104