• No se han encontrado resultados

de  CPC  o  de  CPM  que  defina.  De  lo  contrario,  su  anuncio  no  se  publicará

and topics not covered in this course may be covered in the second course. Students will develop individual and team skills by implementing a functional prototype of a client/server information system from a requirements document. Teams will be introduced to and use CASE, relational DBMS, IDE, and project management software. Programming assignments, oral presentations and written reports are required.

CSCD 451

Software Engineering II (4) SPRING

Prerequisite: CSCD 450. (ACS special code)

Application of principles and techniques learned in CSCD 450 to team development of client-sponsored projects. Based on a requirements document provided by their client, each team will use appropriate tools and management skills to specify, design, implement, install, test and document a software solution that meets the client’s needs. Project management, software quality assurance, and software configuration management plans are required. Each team will include members from the ENGL 404 Software Documentation class. Formal written documents and oral presentations are required of all teams and team members.

CSCD 460

Computer Systems Architecture and Design (4)

FALL

Prerequisites: CSCD 226, ENGR 250, and either CSCD 360 or ENGR 260. (ACS special code)

A study of computer processor design at the levels of the instruction set, the system architecture, and logical gates. Knowledge of Boolean algebra and digital circuits are combined with a viewpoint of computers at the assembly language level to build a complete understanding of how modern computer processors actually work, with some techniques and tradeoffs that go into their design. The simulation of digital circuits using a high-level procedural programming language is also covered. A programming project will be required.

CSCD 461

Digital Systems Design (4)

Prerequisites: CSCD 226, ENGR 250, and either CSCD 360 or ENGR 260. (ACS special code)

Application of digital circuit design concepts to computer-related hardware applications developed as group projects. Oral and/or written reports are submitted for evaluation.

CSCD 467

Concurrent and Real-Time Systems (4) Prerequisites: CSCD 326 and 350. (ACS special code)

An exploration of the design and programming of concurrent and real-time systems. The course covers methods and constructs that are central to concurrent system development, including concurrent processes, task scheduling, interrupt service routines, deadlock, priority inversion, and interprocess synchronization and communication using critical sections, semaphores, mutexes, monitors, event signals, and queues. Additional topics specific to embedded systems may also be covered, such as PID feedback control. The course emphasis is on applying these constructs to an actual concurrent system design. Software design methodologies specifically intended for describing the structure and dynamics of concurrent software systems will be covered. System- level thinking using these methods is carried through to the implementation of a group project using a real- time kernel.

CSCD 470

Computer Graphics Programming (4) WINTER

Prerequisites: MATH 163, CSCD 326. Recommend CSCD 229. (ACS special code)

Programming principles and techniques for 2-D and 3-D computer graphics. Included topics: graphics

CSCD 434

Network Security (4) SPRING

Prerequisites: CSCD 326, 333.

Practical topics in network security: policy and mechanism, malicious code; intrusion detection, prevention, response; cryptographic protocols for privacy and integrity; emphasis on tradeoffs between risks of misuse, cost of prevention, and social issues. Concepts are implemented in programming assignments. Typically, some comprehensive projects are given.

CSCD 435

Principles of Programming Languages (3) FALL/SPRING

Prerequisites: CSCD 327, ENGL 205 or CMST 2/300.

A study and comparison of programming languages by evolution, formal specifications, structures, features, and application domains. Implementation of syntax and semantics and program run-time behavior for several languages will be considered. Each student will give an oral presentation of a term report in this class.

CSCD 440

Operating Systems I (4) FALL/SPRING

Prerequisites: CSCD 228, 229, 326 and either CSCD 260 or ENGR 260.

Major concepts in the design and modeling of operating systems for digital computers. Topics will include: historical development of operating systems, methods used in simulations, memory management, system protection mechanisms, I/O management, CPU scheduling, process management, file systems. Requires programming assignments, program analyses, and written reports.

CSCD 441

Operating Systems II (4) WINTER

Prerequisite: CSCD 440.

Studies in concurrent systems, basic networking, and security of systems. Further, an in-depth study of a specific operating system will be performed; this will involve disk partitioning, actual installation of a new operating system onto the student’s own hardware, and learning the intricacies of that new system.

CSCD 442

Operating Systems III (4)

Prerequisite: CSCD 441. (ACS special code)

An analysis of code segments and data structures used in the operating system worked with in CSCD 441. Emphasis will be on the degree to which the hardware/CPU dictates implementation decisions. Projects for interfacing hardware devices to the system will be assigned; individual oral presentations and the development of technical documents detailing the projects will be included.

CSCD 443

Distributed Multiprocessing Environments (4)

Prerequisites: CSCD 440, familiarity with Unix/Linux and with the C and Java programming languages. (ACS special code)

Parallel processing concepts and history, followed by the study and comparison of several multiprocessing environments (such as Java threads, PVM, and MPI).

CSCD 450

Software Engineering I (4) WINTER

Prerequisites: CSCD 326, 350, ENGL 205 and CSCD 425. (ACS special code)

Software engineering paradigms, principles, and techniques. Topics will include software engineering paradigms, software life cycle models, requirement specifications, classical and object-oriented analysis and design, verification and validation, reuse, tools, metrics and project management. This course is the

hardware interfaces, generation of 2-D graphics primitives, 2-D and 3-D translation, rotation, scaling and clipping algorithms and modeling/representation of three-dimensional objects. Requires programming assignments.

CSCD 471

Advanced Graphics Programming (4) SPRING

Prerequisite: CSCD 470 or equivalent. (ACS special code)

Theory and programming techniques for advanced three dimensional computer graphics and realistic rendering. Included topics: solid modeling of 3D objects, light and color modeling, realistic object rendering using Phong and Gouraud shading techniques, texture mapping, and other advanced rendering techniques such as the production of shadows and reflections. The use of advanced rendering techniques in 3D games will also be covered. Requires programming assignments.

CSCD 479

Web Programming - Security (4) Prerequisites: CSCD 379. (ACS special code)

Explore different aspects of information security as it pertains to the Internet and web programming. Topics covered may include the human element of security, data encryption, Secure Socket Layer programming, acquiring and installing Server Certificates, web attack types and how to defend against them, Intrusion Detection Systems, SQL Injection principles and their defense strategies, and attack mitigation.

Programming assignments, oral presentations, and/or written reports will be required.

CSCD 480

Intelligent Systems (4) FALL

Prerequisite: CSCD 326. (ACS special code)

This course introduces the student to the topic of developing intelligent machine behavior. Covered material will include state of the art topics, and may vary somewhat. Representative techniques described include artificial intelligence programming techniques, pattern recognition, rule-based systems, neural networks, fuzzy logic, and machine learning. These techniques will be applied to several application areas, such as intelligent agents and robots, intelligent user interfaces/assistants, and control systems. This course is the first in the three quarter Intelligent Systems series, and topics not covered in this course may be covered in the remaining two courses of the series. Typically, the first course focuses on AI programming techniques and languages, and on basic intelligent systems. This course requires individual and/or group programming projects.

CSCD 481

Knowledge Based Systems (4) WINTER

Prerequisite: CSCD 480 or permission of the instructor. (ACS special code)

This course is a continuation of the Intelligent Systems series. The focus of this second course is typically on knowledge based systems. Course covers knowledge engineering and implementation of knowledge based systems, including expert systems and natural language processing systems. This course requires individual and/or group programming projects.

CSCD 482

Machine Learning (4) SPRING

Prerequisite: CSCD 480 or permission of the instructor. (ACS special code)

This course is a continuation of the Intelligent Systems series. This course focuses on the tools and techniques available for implementing artificial learning systems, including neural networks, rule- based learning, and others. This course requires individual and/or group programming projects.

CSCD 490

Computer Ethics Senior Capstone (4) FALL/WINTER/SPRING

[satisfies senior capstone university graduation requirement.]

Prerequisites: ENGL 201 and ENGL 205 and (advanced in the major or ENGL 305) and (CMST 200 or 300).

Computers as tools from a societal-cultural perspective; impacts of information systems in an organizational environment, on society and on the individual, and the future directions in which the forces of technology and computing are tending to move us.

CSCD 491

Multimedia or Web Design Project (5) FALL/WINTER/SPRING

Prerequisites: CSCD 412 and 414. (ACS special code)

Independent or small group design, development and implementation of a multimedia project.

CSCD 495 Internship (1-10)

FALL/WINTER/SPRING/SUMMER

Prerequisite: CSCD 326 or 414. (ACS special code) CSCD 497

Workshops, Short Courses, Conferences (1-5) FALL/WINTER/SPRING/SUMMER

Selected topics to be arranged in consultation with the requesting organization.

CSCD 498 Seminar (1-5)

FALL/WINTER/SPRING/SUMMER

Prerequisite: Prior permission of the instructor. CSCD 499

Directed Study (1-5) FALL/WINTER/SPRING/SUMMER

Prerequisites: Prior permission of the instructor and the department chair.

CSCD 501

Design and Analysis of Algorithms (4) Prerequisites: CSCD 327 and MATH 231 and (MATH 225 or MATH 301) and (MATH 380 or MATH 385).

The study of algorithms: Asymptotic analysis of computing time and space requirements. Strategies for designing algorithms: Divide-and-conquer, Greedy method, Backtracking, etc. Analysis of graph algorithms. Introduction to parallel algorithms and their analysis. Further topics may be covered, as time permits, such as techniques for algebraic

manipulations, lower bound theory, and NP-Complete problems.

CSCD 502, 503

Theory of Computing I, II (4 each) Prerequisite: Prior permission of the instructor.

Graph theory; trees; automata theory; computability; unsolvability; Turing machines; recursive functions theory; category theory as applied to machine morphisms; formal language theory with possible applications to compiler design, operating systems, etc. Switching theory, formal verification methods, data structuring and complexity theory may also be studied.

CSCD 524

Software Engineering (4)

Prerequisites: CSCD 226 and knowledge of two computer languages.

A variable-content course. A study of methods and techniques available to develop reliable and maintainable software at minimal cost and selected software development topics. Possible topics include software metrics, object-oriented design, rapid prototyping, graphical user interface design, and CASE tools. Individual research projects are required.

CSCD 525

Advanced Database Management Systems (4)

Prerequisite: CSCD 425.

A variable-content course. An in-depth study of a commercial relational DBMS and selected database systems topics. Possible topics include data access patterns, data mining, distributed databases, multimedia databases, query optimization, object- oriented DBMS, knowledge-based systems, design and programming of 2 and 3 Tier Applications using web services and XML. Individual research projects are required.

CSCD 538

Topics in Computer Hardware (4)

May be taken more than once provided distinct topics are studied.

Prerequisite: Graduate standing in Computer Science or permission of the instructor.

A variable content course dealing with some aspect of computer hardware. Possible topics include network theory, VLSI design, control systems, digital systems design, switching and automata theory, computer- aided engineering.

CSCD 539

Topics in Computer Science (4)

May be taken more than once provided distinct topics are studied.

Prerequisite: Graduate standing in Computer Science or permission of the instructor.

A variable content course dealing with an area of computer science other than hardware. Possible topics include compiler design, advanced operating systems, computational complexity, computer graphics, software testing and verification, artificial intelligence, pattern recognition, computer simulation and modeling, graph algorithms.

CSCD 540

Advanced Topics in Modern Operating Systems (4)

Prerequisites: CSCD 440, 441.

The study of advanced topics from modern operating systems. Topics may include but are not limited to device drivers, embedded operating systems, real-time operating systems, modern operating system security designs and mechanism, and performance measurement and evaluation.

CSCD 543

Distributed Multiprocessing Environments (4)

Prerequisites: CSCD 440, and familiarity with Unix and with the C and Java programming languages.

Parallel processing concepts and history, followed by the study and comparison of several multiprocessing environments (such as Java threads, PVM, and MPI) problems. Individual research project required.

CSCD 547

Computer Networks (4) Prerequisites: CSCD 326, 333.

Design and analysis of computer networks are the foci. Comprehensive study of future and advanced networking technologies such as multiplexing, ATM, NAT and IPv6; dominant network applications such as DNS, E-mail, file transfers and WWW; and advanced programming skills and architectures such as RPC, CORBA, and middleware are covered. Typically, a comprehensive project is assigned.

CSCD 570

Photo-Realistic Computer Graphics (4) Prerequisite: CSCD 471 or equivalent.

Theory and programming techniques of global illumination for photorealistic rendering in computer graphics. Included topics: basics of ray tracing, advanced ray tracing topics including stochastic ray tracing, incorporation of other global illumination techniques including radiosity and photon tracing. Requires programming assignments.

CSCD 575

Computer Systems Design (4) Prerequisite: CSCD 460 or equivalent.

A survey of computer system architecture including levels of machine description, instruction sets, interrupt handling, memory hierarchies, I/O subsystems, and buses.

CSCD 580

Intelligent Systems (4)

Prerequisites: Graduate standing in Computer Science and CSCD 326 or permission of the instructor.

This course introduces the student to the topic of developing intelligent machine behavior. Covered material will include state of the art topics, and may vary somewhat. Representative techniques described include artificial intelligence programming techniques, pattern recognition, rule-based systems, neural networks, fuzzy logic, and machine learning. These techniques will be applied to several application areas, such as intelligent agents and robots, intelligent user interfaces/assistants, and control systems. This course is the first in the three quarter Intelligent Systems series, and topics not covered in this course may be covered in the remaining two courses of the series. Typically, the first course focuses on AI programming techniques and languages, and on basic intelligent systems. This course requires graduate level individual and/or group programming projects.

CSCD 581

Knowledge-Based Systems (4)

Prerequisites: Graduate standing in Computer Science and CSCD 580 or permission of the instructor.

This course is a continuation of the Intelligent systems series. The focus of this second course is typically on knowledge based systems. Course covers knowledge engineering and implementation of knowledge based systems, including expert systems and natural language processing systems. This course requires individual and/or group programming projects.

CSCD 582

Machine Learning (4)

Prerequisites: Graduate standing in Computer Science and CSCD 580 or permission of the instructor.

This course is a continuation of the Intelligent Systems series. This course focuses on the tools and techniques available for implementing artificial learning systems, including neural networks, rule- based learning, and others. This course requires individual and/or group programming projects.

CSCD 595 Professional Internship (2-16) CSCD 596 Experimental Course (2-5) CSCD 597 Workshops (1-5)

Note: Workshop credit cannot be used to fulfill graduate degree requirements.

CSCD 598 Seminar (1-5) CSCD 599

Independent Study (1-6)

Prerequisites: Prior permission of the instructor and the department chair.

CSCD 600 Thesis (2-16) Graded Pass/No Credit.

A research thesis under the direction of a graduate committee.

109

CSCD 601

Research Report (2-16) Graded Pass/No Credit.

A research study in lieu of a bound thesis conducted as partial fulfillment of a master’s degree under the direction of a graduate committee.

CSCD 696

College Teaching Internship (1-12) Graded Pass/No Credit.

Teaching a lower-division college course under supervision of a regular faculty member. Includes course planning, arranging bibliographical and instructional aids, conferences with students, experience in classroom instruction and student course evaluation.

Courses