|
Computer Science
CSCI 100xg Explorations in Computing Units: 4 A behind-the-scenes overview of the computational/algorithmic principles that form the basis of today’s digital society. Exploration areas include social media, web search, videogames and location-based services. Satisfies New General Education in Category F: Quantitative Reasoning Instruction Mode: Lecture, Lab Grading Option: Letter
CSCI 101L Fundamentals of Computer Programming Units: 3 Terms Offered: FaSp Introduction to the design of solutions to computer solvable problems. Algorithm design, solution implementation using a high-level programming language, program correctness and verification. Instruction Mode: Lecture, Lab Required Grading Option: Letter
CSCI 102L Fundamentals of Computation Units: 2 Fundamental concepts of algorithmic thinking as a primer to programming. Introduction to C++. Instruction Mode: Lecture, Lab Required Grading Option: Letter
CSCI 103L Introduction to Programming Units: 4 Terms Offered: FaSp Basic datatypes, assignments, control statements (if, switch, for, while), input/output (printf, scanf, cin, cout), functions, arrays, structures, recursion, dynamic memory, file handling. Programming in C/C++. Corequisite: CSCI 109 or EE 109 Instruction Mode: Lecture, Lab Required, Quiz Grading Option: Letter
CSCI 104L Data Structures and Object Oriented Design Units: 4 Terms Offered: FaSp Introduces the student to standard data structures (linear structures such as linked lists, (balanced) trees, priority queues, and hashtables), using the C++ programming language. Prerequisite: CSCI 103L ; Corequisite: CSCI 170 . Instruction Mode: Lecture, Lab Required, Quiz Grading Option: Letter
CSCI 109 Introduction to Computer Science Units: 2 Terms Offered: FaSp An introduction to, and overview of, Computer Science; both as a discipline and a body of knowledge. Instruction Mode: Lecture Grading Option: Letter
CSCI 110 Introduction to Digital Logic Units: 3 (Enroll in EE 101 )
CSCI 170 Discrete Methods in Computer Science Units: 4 Terms Offered: FaSp Sets, functions, series. Big-O notation and algorithm analysis. Propositional and first-order logic. Counting and discrete probability. Graphs and basic graph algorithms. Basic number theory. Prerequisite: CSCI 103L and (CSCI 109 or EE 109L ) Duplicates Credit in former CSCI 271 Instruction Mode: Lecture, Discussion, Quiz Grading Option: Letter
CSCI 201L Principles of Software Development Units: 4 Terms Offered: FaSp Object-oriented paradigm for programmingin- the-large in Java; writing sophisticated concurrent applications with animation and graphic user interfaces; using professional tools on team project. Prerequisite: CSCI 104L .
CSCI 270 Introduction to Algorithms and Theory of Computing Units: 4 Terms Offered: FaSp Algorithm analysis. Greedy algorithms, divide and conquer, dynamic programming, graph algorithms. NP-completeness and basic recursion theory and undecidability. Sorting lower bounds. Number-theory based cryptography. Prerequisite: CSCI 104L and CSCI 170 . Duplicates Credit in CSCI 303. Instruction Mode: Lecture, Quiz Grading Option: Letter
CSCI 280 Video Game Production Units: 4 Terms Offered: FaSpSm (Enroll in ITP 280 )
CSCI 281 Pipelines for Games and Interactives Units: 4 Terms Offered: FaSp Explores the aesthetic development/technical implementation necessary to achieve unique, compelling, intuitive visual design in games. Students will develop group visual game design portfolios. Instruction Mode: Lecture Grading Option: Letter
CSCI 310 Software Engineering Units: 4 Terms Offered: Sp Introduction to the software engineering process and software lifecycle. Covers project management, requirements, architecture, design, implementation, testing, and maintenance phase activities in team based projects. Prerequisite: CSCI 201L Duplicates Credit in former CSCI 377 Instruction Mode: Lecture Grading Option: Letter
CSCI 350 Introduction to Operating Systems Units: 4 Basic issues in concurrency, deadlock control, synchronization scheduling, memory management, protection and access control, inter-process communication, and structured design. Laboratory experiences with Unix-like operating system. Duplicates credit in CSCI 402. Prerequisite: CSCI 201L and (CSCI 356 or EE 354L ) Duplicates Credit in CSCI 402 Instruction Mode: Lecture, Quiz Grading Option: Letter
CSCI 352L Computer Organization and Architecture Units: 3 Terms Offered: Sp (Enroll in EE 352L )
CSCI 353 Introduction to Internetworking Units: 4 Global Internet: design principles, layering, protocol design/analysis. Networked applications, Internet structure/architecture, Protocols for transport/congestion control, network layer/routing, link layer/MAC. Network security. Prerequisite: CSCI 201 ; Recommended Preparation: Familiarity with C and C++. Duplicates Credit in EE 450. Instruction Mode: Lecture, Discussion Grading Option: Letter
CSCI 356 Introduction to Computer Systems Units: 4 Computer organization; entity abstraction and representation; program execution; code optimization; memory usage; exception handling; processing control; computer performance; hands-on work done in C and assembly. Prerequisite: CSCI 104L Recommended Preparation: Familiarity with memory management and parameter passing used in the C++ programming language Duplicates Credit in EE 352L Instruction Mode: Lecture, Discussion Grading Option: Letter
CSCI 357 Basic Organization of Computer Systems Units: 3 (Enroll in EE 357 )
CSCI 360 Introduction to Artificial Intelligence Units: 4 Concepts and algorithms underlying the understanding and construction of intelligent systems. Agents, problem solving, search, representation, reasoning, planning, machine learning. Prerequisite: CSCI 104L and CSCI 170 Duplicates Credit in former CSCI 460 Instruction Mode: Lecture Grading Option: Letter
CSCI 368 Programming Graphical User Interfaces Units: 3 (Enroll in ITP 368 )
CSCI 380 Video Game Programming Units: 4 Terms Offered: FaSpSm (Enroll in ITP 380 )
CSCI 390 Special Problems Units: 1, 2, 3, 4 Supervised, individual studies. No more than one registration permitted. Enrollment by petition only. Instruction Mode: Lecture Grading Option: Letter
CSCI 401 Capstone: Design and Construction of Large Software Systems Units: 4 Max Units: max 8 Terms Offered: FaSp Group project with an outside stakeholder to develop real-world software solutions to large-scale problems. Topics include software engineering, professional preparation, and recent computer science research. Prerequisite: CSCI 270 and CSCI 310 Duplicates Credit in the former CSCI 477a and CSCI 477b Instruction Mode: Lecture Grading Option: Letter
CSCI 402 Operating Systems Units: 4 Terms Offered: FaSpSm Concurrency, deadlock control, synchronization, process and thread scheduling, memory management, file systems, security and access control, communication and networking, distributed file systems, data management. Recommended Preparation: CSCI 201L or CSCI 455x ; CSCI 356 or EE 352L Duplicates Credit in CSCI 350 Instruction Mode: Lecture, Discussion Grading Option: Letter
CSCI 404 Capstone: Creating Your High-Tech Startup Units: 4 Capstone class in which students create their own technology startup, leveraging comprehensive CS knowledge and best industry practices. Prerequisite: CSCI 201 and CSCI 270 and ITP 466 Instruction Mode: Lecture Grading Option: Letter
CSCI 410x Translation of Programming Languages Units: 3 Concepts of assemblers, compilers, interpreters and their design; macro assemblers, Polish notation and translation techniques; operator precedence parsing, push down automata, code generation. Prerequisite: CSCI 201L Credit Restriction: Not available for graduate credit to computer science majors Instruction Mode: Lecture Grading Option: Letter
CSCI 420 Computer Graphics Units: 4 Terms Offered: FaSp Computer graphics, OpenGL, 2D and 3D transformations, Bézier splines, computer animation, rendering including ray tracing, shading and lighting, artistic rendering, virtual reality, visualization. Prerequisite: CSCI 104L and (MATH 225 or (EE 141L and (MATH 126 or MATH 127 or MATH 129 ))) Instruction Mode: Lecture, Discussion Grading Option: Letter
CSCI 423 Native Console Multiplayer Game Development Units: 4 Implementation of AAA style multiplayer game running on consoles and DX11. Console development in native C++, console SDKs, engine components, gameplay, networking, data prediction/replication. Prerequisite: CSCI 522 or ITP 380 ; Recommended Preparation: ITP 485 . Instruction Mode: Lecture Grading Option: Letter
CSCI 424 Game Engine Tool Development Units: 4 Tool development for a C++ console game. Animation export, compression. FBX parsing. Level editing, object live update tools. Debugging tools. Texture compression. Data Pipeline. Prerequisite: ITP 380 ; Recommended Preparation: ITP 485 . Instruction Mode: Lecture Grading Option: Letter
CSCI 425 Immersive Game Development Units: 4 Implementation of a console multiplayer game leveraging input devices such as Kinect, PSMove, Console + IPad/PSVita, Cloud Computing, to achieve creative design. Prerequisite: CSCI 423 . Instruction Mode: Lecture Grading Option: Letter
CSCI 426 Game Prototyping Units: 4 Developing games or technology based on current and relevant special topics. Instruction Mode: Lecture Grading Option: Letter
CSCI 430 Introduction to Computer and Network Security Units: 4 Terms Offered: Sp A broad overview of security threats and defenses, security systems and functionalities, as well as current security practices. Includes homeworks and in-class exercises to provide practical experience working with such systems. Prerequisite: CSCI 201 . Instruction Mode: Lecture Grading Option: Letter
CSCI 435 Professional C++ Units: 3 Terms Offered: Sp (Enroll in ITP 435 )
CSCI 439 Compiler Development Units: 3 (Enroll in ITP 439 )
CSCI 445L Introduction to Robotics Units: 4 Terms Offered: FaSpSm Designing, building and programming mobile robots; sensors, effectors, basic control theory, control architectures, some advanced topics, illustrations of state-of-theart. Teamwork; final project tested in a robot contest. Prerequisite: CSCI 103 . Instruction Mode: Lecture, Lab Required Grading Option: Letter Crosslisted as EE-445
CSCI 450 Introduction to Computer Networks Units: 3 Terms Offered: FaSpSm (Enroll in EE 450 )
CSCI 452 Parallel and Distributed Computation Units: 4 (Enroll in EE 451 )
CSCI 454L Introduction to System-on-Chip Units: 4 Terms Offered: Fa (Enroll in EE 454L )
CSCI 455x Introduction to Programming Systems Design Units: 4 Terms Offered: FaSp Intensive introduction to programming principles, discrete mathematics for computing, software design and software engineering concepts. Prerequisite: departmental approval. Credit Restriction: Not available for credit to computer science majors, graduate or undergraduate. Instruction Mode: Lecture, Lab Grading Option: Letter Crosslisted as EE-455
CSCI 457 Computer Systems Organization Units: 3 (Enroll in EE 457 )
CSCI 458 Numerical Methods Units: 4 (Enroll in MATH 458 )
CSCI 459 Computer Systems and Applications Modeling Fundamentals Units: 3 Terms Offered: Sp Techniques and tools needed to construct/evaluate models of computer systems and applications. Analytical and simulation methods, capacity planning, performance/reliability evaluation, and decision-making. Prerequisite: MATH 225 , CSCI 201 . Instruction Mode: Lecture Grading Option: Letter
CSCI 476 Cryptography: Secure Communication and Computation Units: 4 Introduction to modern Cryptography; mathematical/algorithmic studies of methods for protecting information in computer and communication systems: Public-Key Cryptosystems, zero-knowledge proofs, data privacy. Prerequisite: CSCI 270 . Instruction Mode: Lecture Grading Option: Letter
CSCI 485 File and Database Management Units: 4 Terms Offered: FaSp File input/output techniques, basic methods for file organization, file managers, principles of databases, conceptual data models, and query languages. Prerequisite: CSCI 201 Instruction Mode: Lecture Grading Option: Letter
CSCI 487 Programming Game Engines Units: 4 Terms Offered: FaSp (Enroll in ITP 485 )
CSCI 490x Directed Research Units: 1, 2, 3, 4, 5, 6, 7, 8 Max Units: 12.0 Individual research and readings. Instruction Mode: Lecture Grading Option: Letter
CSCI 491aL Final Game Project Units: 4 Terms Offered: FaSpSm Design, iterative prototyping, and development of a 1st playable level. Registration Restriction: Open only to seniors. Instruction Mode: Lecture, Lab Required Grading Option: Letter
CSCI 491bL Final Game Project Units: 2 Terms Offered: FaSpSm Design, iterative stage 2 prototyping and development of a refined game. Instruction Mode: Lecture, Lab Required Grading Option: Letter
CSCI 495 Senior Project Units: 3 (Enroll in PHYS 495 )
CSCI 499 Special Topics Units: 2, 3, 4 Max Units: 08 Selected topics in computer science. Instruction Mode: Lecture, Discussion Grading Option: Letter
CSCI 501 Numerical Analysis and Computation Units: 3 (Enroll in MATH 501 )
CSCI 502a Numerical Analysis Units: 3 (Enroll in MATH 502a , MATH 502b )
CSCI 502b Numerical Analysis Units: 3 (Enroll in MATH 502a , MATH 502b )
CSCI 504a Numerical Solutions of Ordinary and Partial Differential Equations Units: 3 (Enroll in MATH 504a , MATH 504b )
CSCI 504b Numerical Solutions of Ordinary and Partial Differential Equations Units: 3 (Enroll in MATH 504a , MATH 504b )
CSCI 505a Applied Probability Units: 3 (Enroll in MATH 505a , MATH 505b )
CSCI 505b Applied Probability Units: 3 (Enroll in MATH 505a , MATH 505b )
CSCI 510 Software Management and Economics Units: 4 Theories of management and their application to software projects. Economic analysis of software products and processes. Software cost and schedule estimation, planning and control. Instruction Mode: Lecture Grading Option: Letter Crosslisted as ISE 512
CSCI 511 Personal Software Process (PSP) and Project Units: 3 Terms Offered: Sp Individual analysis, planning, development and maintenance of a software product or development artifact, using the principles and practices of PSP. Analysis of project’s lessons learned. Instruction Mode: Lecture Grading Option: Letter
CSCI 512 Testing and Analysis of Software Systems Units: 4 Introduces students to the topic of automated testing and analysis of large-scale modern software systems. Recommended Preparation: CSCI 571 ; Java programming skills; Linux system administration. Instruction Mode: Lecture Grading Option: Letter
CSCI 520 Computer Animation and Simulation Units: 4 Fundamental techniques of computer animation and simulation, knowledge and/or experience in the design, scripting, production and post-production stages of computer animation. Prerequisite: CSCI 420 or CSCI 580 Recommended Preparation: Familiarity with calculus, linear algebra, and numerical computation; C/C++ programming skills Instruction Mode: Lecture Grading Option: Letter
CSCI 521 Optimization: Theory and Algorithms Units: 3 Terms Offered: Fa (Enroll in ISE 520 )
CSCI 522 Game Engine Development Units: 4 Terms Offered: Fa The principles of developing game engines targeted at modern PC and game console hardware. Instruction Mode: Lecture Grading Option: Letter
CSCI 523L Networked Games Units: 4 Terms Offered: FaSpSm Design and implementation of networked games, from the origins of the supporting technologies in distributed systems, visual simulations, networked virtual environments, and shipped games. Recommended Preparation: CSCI 420 or CSCI 580 or an equivalent course in graphics. Instruction Mode: Lecture, Lab Required Grading Option: Letter
CSCI 524 Networked Artificial Intelligence Units: 4 Networked game communication architectures, protocol development, architecting networked game AI clients/services. Character following, knowledge representation and reasoning, dynamic play strategies, search, learning, and planning. Recommended Preparation: CSCI 420 or CSCI 580 or an equivalent course in graphics Instruction Mode: Lecture, Lab Grading Option: Letter
CSCI 526 Advanced Mobile Devices and Game Consoles Units: 4 Terms Offered: FaSpSm Explore the complex engineering process required to design and build a real-time graphics engine to support physical realism on mobile devices. Recommended Preparation: CSCI 420 or CSCI 580 or an equivalent course in graphics Instruction Mode: Lecture, Lab Required Grading Option: Letter
CSCI 529a Advanced Game Projects Units: 4 Terms Offered: FaSp Team projects intended to address the multifaceted technical and creative challenges that are inherent to comprehensive game development. Recommended Preparation: CSCI 522 or CTIN 488 . Instruction Mode: Lecture Grading Option: Letter
CSCI 529b Advanced Game Projects Units: 2 Terms Offered: FaSpSm Provides students in various areas of game specialization the practice of design, iterative stage 2 prototyping and development of a refined game. Prerequisite: CSCI 529a Instruction Mode: Lecture, Lab Grading Option: Letter
CSCI 530 Security Systems Units: 4 Terms Offered: FaSp Protecting computer networks and systems using cryptography, authentication, authorization, intrusion detection and response. Includes lab to provide practical experience working with such systems. Prerequisite: CSCI 402 . Instruction Mode: Lecture Grading Option: Letter
CSCI 531 Applied Cryptography Units: 4 Intensive overview of cryptography for practitioners, historical perspective on early systems, number theoretic foundations of modern day cryptosystems and basic cryptanalysis. Recommended Preparation: Programming in C/C++ (CSCI 103), Data structures (CSCI 104) Instruction Mode: Lecture, Discussion Grading Option: Letter
CSCI 533 Algebraic Combinatorics Units: 3 Terms Offered: Irregular (Enroll in MATH 533 )
CSCI 534 Affective Computing Units: 4 Terms Offered: Sp Overview of the theory of human emotion, techniques for recognizing and synthesizing emotional behavior, and design application. Recommended Preparation: CSCI 561 Instruction Mode: Lecture Grading Option: Letter Crosslisted as PSYC 532
CSCI 535 Multimodal Probabilistic Learning of Human Communication Units: 4 Principles and techniques to understand, build, and utilize multimodal machine learning algorithms through automatically understanding, recognizing, and analyzing phenomena of human communication. Recommended Preparation: CSCI 542 or CSCI 567 or CSCI 573 or equivalent Instruction Mode: Lecture Grading Option: Letter
CSCI 536 Linear Programming and Extensions Units: 3 Terms Offered: Fa (Enroll in ISE 536 )
CSCI 537 Foundations of Data Management Units: 4 Terms Offered: FaSp (Enroll in INF 551)
CSCI 540 Self-Organization Units: 4 Massively distributed systems whose global behavior emerges from local interactions of components. Global to local compilation; robot swarms; formation of shapes/spatial patterns; self-assembly; programmable matter. Registration Restriction: Graduate standing in science or engineering Instruction Mode: Lecture Grading Option: Letter
CSCI 541 Foundations and Applications of Data Mining Units: 4 (Enroll in INF 553)
CSCI 542 Neural Computation with Artificial Neural Networks Units: 3 Terms Offered: Sp Computation and adaptation in networks of interconnected distributed processing units; classical and statistical approaches to neural nets; stateof- the-art neural network research. Recommended Preparation: basic statistics, linear algebra. Instruction Mode: Lecture Grading Option: Letter
CSCI 544 Applied Natural Language Processing Units: 4 Introduction to key components of human language technologies, including: information extraction, sentiment analysis, question answering, machine translation. Recommended Preparation: proficiency in programming, algorithms and data structures, basic knowledge of linear algebra. Instruction Mode: Lecture Grading Option: Letter
CSCI 545 Robotics Units: 4 Terms Offered: FaSpSm Fundamental skills for modeling and controlling of dynamic systems for robotic applications and graphics animations; control theory; kinematics; dynamics; sensor processing; real-time operating systems; robot labs. Recommended Preparation: Basic knowledge in linear algebra (matrices and vectors), calculus, programming in C/C++ or any another language or permission of the instructor Instruction Mode: Lecture, Lab Grading Option: Letter Crosslisted as EE-545
CSCI 548 Information Integration on the Web Units: 4 Terms Offered: FaSpSm Foundations and techniques in information integration as it applies to the Web, including view integration, wrapper learning, record linkage, and streaming dataflow execution. Prerequisite: CSCI 561 Recommended Preparation: CSCI 585 and some programming experience Instruction Mode: Lecture Grading Option: Letter
CSCI 549 Nanorobotics Units: 3 Terms Offered: Sp Introduction to nanotechnology. Nanorobotic systems: sensing; actuation and propulsion; control; communication; power; programming and coordination of robot swarms. Nanomanipulation and nanoassembly with atomic force microscopes. Instruction Mode: Lecture Grading Option: Letter
CSCI 550 Advanced Data Stores Units: 4 Selected topics on highly available, elastic data stores. Topics include non-relational data models, simple interfaces and query languages, weak consistency and benchmarking techniques. Prerequisite: CSCI 485 or CSCI 585 Instruction Mode: Lecture Grading Option: Letter
CSCI 551 Computer Networking Units: 4 Protocol design for computer communication networks, network routing, transport protocols, internetworking. Prerequisite: CSCI 350 (CSCI 353 or EE 450 ) and (CSCI 350 or CSCI 402 ) Recommended Preparation: C-language programming Instruction Mode: Lecture Grading Option: Letter
CSCI 552 Asynchronous VLSI Design Units: 3 (Enroll in EE 552 )
CSCI 553 Computational Solution of Optimization Problems Units: 3 (Enroll in EE 553 )
CSCI 554 Real Time Computer Systems Units: 3 (Enroll in EE 554 )
CSCI 555L Advanced Operating Systems Units: 4 Advanced topics in operating system research: new OS structures, novel memory management, communication, file system, process management, reliability and security techniques. Prerequisite: CSCI 350 or CSCI 402 Instruction Mode: Lecture, Lab Required, Quiz Grading Option: Letter
CSCI 556 Introduction to Cryptography Units: 4 Modern secret codes. Public key cryptosystems of Rivest- Shamir-Adleman, Diffie-Hellman and others. The underlying number theory and computational complexity theory. Prerequisite: CSCI 570 or CSCI 581 Instruction Mode: Lecture Grading Option: Letter
CSCI 557 Computer Systems Architecture Units: 3 (Enroll in EE 557 )
CSCI 558L Internetworking and Distributed Systems Laboratory Units: 3 Terms Offered: FaSp Students complete laboratory exercises in operating system and network management, distributed systems, TCP/IP, SNMP, NFS, DNS, etc. Term project required. Prerequisite: CSCI 402 and EE 450 /CSCI 450 ; Recommended Preparation: CSCI 551 and CSCI 555 . Instruction Mode: Lecture, Lab Required Grading Option: Letter
CSCI 559 Mathematical Pattern Recognition Units: 3 (Enroll in EE 559 )
CSCI 560 Information Visualization Units: 4 Terms Offered: Fa (Enroll in INF 554 )
CSCI 561 Foundations of Artificial Intelligence Units: 4 Terms Offered: FaSpSm Foundations of symbolic intelligent systems, search, logic, knowledge representation, planning, learning. Recommended Preparation: good programming and algorithm analysis skills Instruction Mode: Lecture, Discussion, Quiz Grading Option: Letter Crosslisted as EE 561
CSCI 563 Building Knowledge Graphs Units: 4 Terms Offered: Fa (Enroll in INF 558)
CSCI 564 Brain Theory and Artificial Intelligence Units: 3 Terms Offered: Fa Introduces neural modeling, distributed artificial intelligence and robotics approaches to vision, motor control and memory. Prerequisite: graduate standing. Instruction Mode: Lecture Grading Option: Letter Crosslisted as NEUR-535
CSCI 565 Compiler Design Units: 4 Terms Offered: Sp Formal grammar; parsing methods and lexical analysis; code generation; local and global code optimization; and dynamic allocation. Prerequisite: CSCI 455x . Instruction Mode: Lecture Grading Option: Letter
CSCI 567 Machine Learning Units: 4 Terms Offered: Fa Statistical methods for building intelligent and adaptive systems that improve performance from experiences; focus on theoretical understanding of these methods and their computational implications. Recommended Preparation: Undergraduate level training or course work in linear algebra, multivariate calculus, basic probability and statistics; an undergraduate level course in Artificial Intelligence may be helpful but is not required. Instruction Mode: Lecture, Discussion Grading Option: Letter Crosslisted as ISE-568
CSCI 568 Requirements Engineering Units: 4 Techniques for successful requirements analysis and requirements engineering (RE) of software-intensive systems. Systematic process of developing requirements through cooperative problem analysis, representation, and validation. Prerequisite: CSCI 577a Instruction Mode: Lecture Grading Option: Letter
CSCI 569 Social Media Analytics Units: 4 Introduction to quantitative analysis of social data. Topics include social network analysis, text analysis, machine learning and statistical methods and they are used to study influence, information diffusion, sentiment analysis and prediction of individual and social behavior online. Recommended Preparation: statistics, AI and/or machine learning, knowledge of at least one programming language (Java, C++, Python) Instruction Mode: Lecture Grading Option: Letter Page: 1
| 2
|
|
You must be logged in to post a comment.