 |
 |
|
Duluth Courses
|
|
Future effective dates indicate the first term the
course may be available.
Find out when a particular course is offered using the
Class Schedule.
Register for
classes online.
|
|
COMPUTER SCIENCE (CS)
Swenson College of Science and Engineering
Computer Science
|
|
CS
1101
- Introduction to Web Programming
(LOGIC & QR)
(3.0 cr; Prereq-1 year high school algebra or Math 1005 or #; A-F or Aud, fall, spring, every year) Introduction to the development of content for the World Wide Web. Static Web development introducing HTML and CSS. Dynamic Web development introducing the JavaScript programming language, including syntax of scripting, variables, expressions, controls structures, functions, and objects. For students with no prior programming experience.
CS
1121
- Introduction to Programming in Visual BASIC.NET
(LOGIC & QR, LE CAT3)
(3.0 cr; =[FMIS 2225]; Prereq-1 yr high school algebra or #; A-F or Aud, fall, spring, every year) Introduction to programming in the modern Visual BASIC language. Projects are developed in a .NET environment using the Visual Studio. Includes GUI interface development and expert-driven Windows programming. Major topics include variables, datatype, arithmetic expressions, control structures, arrays and database file processing. For students with no prior programming experience.
CS
1141
- Introduction to Programming in C#
(3.0 cr; Prereq-1 year high school algebra or #; A-F or Aud, spring, every year) Introduction to programming in the C# (read as C sharp) programming language. C# is a simple, object-oriented programming language based on C++. This course will cover data representation, operators, expressions, control structures, arrays and programming with C#. Requires implementation of significant programming projects.
CS
1301
- Introduction to 3D Game Development: Learning to Program Computers by Creating Video Games
(LOGIC & QR, LE CAT3)
(4.0 cr; A-F or Aud, fall, every year) Introduces skills used to solve problems with computers. Students learn fundamental computer programming skills through the development of 3D animation and 3D games.
CS
1411
- Introduction to Programming in Matlab
(4.0 cr; Prereq-Math 1296 or 1596 or instructor consent; A-F or Aud, fall, spring, every year) An introduction to programming in the Matlab language. Topics covered will include the creation of algorithms, function definition, basic programming statements, input and output, mathematical operations, matrix manipulation, and representing data. As time allows, additional coverage of plotting methods, data structures using cellular arrays and other advanced topics.
CS
1511
- Computer Science I
(LOGIC & QR, LE CAT3)
(5.0 cr; =[CS 1581, CS 1211]; Prereq-3 1/2 yrs high school math or #; A-F or Aud, fall, spring, every year) Introduction to the discipline of computer science. Emphasis on problem analysis, design, and development using event-driven programming in a graphical user interface environment. Programming concepts include control structures, arrays, recursion, pointers, classes and introduction to the object-oriented approach.
CS
1521
- Computer Science II
(5.0 cr; Prereq-1511 or 1581; A-F or Aud, fall, spring, every year) Continuation of introduction to computer science. Methods for procedural and data abstraction. Focus on classical data structures, procedural and data abstraction, and the abstract data type. Introduction to software engineering technique. Algorithm analysis, principles of object-oriented programming issues in ethical use of computers. Requires implementation of significant programming projects.
CS
1581
- Honors: Computer Science I
(LOGIC & QR, LE CAT3)
(5.0 cr; =[CS 1511, CS 1211]; Prereq-Honors student, 3 1/2 yrs high school math; A-F or Aud, fall, every year) Similar to 1511, but in greater depth and with more challenging assignments. For high-ability students.
CS
2121
- Introduction to Programming in Java
(LOGIC & QR, LE CAT3)
(3.0 cr; Prereq-3 yrs high school math, or #; A-F or Aud, spring, every year) Introduction to the Java language including data types, variables, operators and expressions, control structures and arrays. Design and implementation of graphical user interface Java applets for web-based applications.
CS
2511
- Software Analysis and Design
(4.0 cr; Prereq-1521 or #; fall, spring, every year) Techniques for analyzing, designing, and creating medium-scale software through object-oriented design and implementation. Analysis and use of data structures. Introduction to design patterns. Emphasis on polymorphism and abstraction to increase software modularity, reusability, and flexibility.
CS
2521
- Computer Organization and Architecture
(4.0 cr; Prereq-1521, Math 1296 or #; fall, spring, every year) Internal representation of programs and data. Computer organization and
introduction to computer architecture. Machine and assembly language
programming. Data and procedural structures. Addressing methods. Systems software including linking and loading. Introduction to hardware performance anlaysis and measurements.
CS
2991
- Independent Study
(1.0 - 4.0 cr [max 8.0 cr]; Prereq-#; fall, spring, every year) Directed study of special interest topics not available in standard curriculum. Must be arranged with instructor before registration. May include readings, research, or special projects.
CS
3011
- Information Technology Hardware and Software
(4.0 cr; Prereq-FMIS 3201 or FMIS 2201 or SBE 1101, 1521 or #; A-F or Aud, fall, every year) Principles and application of telecommunication and computer systems hardware and software focusing on coding of data and programs, system hardware organization, and operating systems.
CS
3111
- Computer Ethics
(HUMANITIES)
(4.0 cr; Prereq-WRIT 3100 or 3110 or 3121 or 3130 0r 3140 or 3150 or 3160 or Engr 4001, min 60 cr or #; A-F or Aud, fall, spring, every year) Ethical issues posed by computer use, including those related to networking, intellectual property, privacy, crime and security, risk and reliability, and effects on work and wealth. Includes significant writing and a class presentation
CS
3121
- Interactive Multimedia Technology
(4.0 cr; Prereq-FMIS 3201 or FMIS 2201 or SBE 1101, 2511 or #; A-F or Aud, fall, every year) Fundamentals of multimedia computing and interactive technologies; digitizing and manipulating images, audio, and video materials; perception, cognition, and communication issues; software engineering, design, and analysis; web-related languages (e.g., JavaScript, HTML, CSS); media formats and compression; copyright and ethics. Includes practical labs and authoring a large-scale project.
CS
3211
- Database System Concepts
(4.0 cr; Prereq-FMIS 3201 or FMIS 2201 or SBE 1101, 2511 or #; A-F or Aud, fall, offered periodically) Design and use of database management systems. Emphasis on the relational data model, SQL, integrity constraints, relational database design, file structures, indexing, query processing, and optimization. Oracle-based laboratory work.
CS
3221
- Operating Systems Practicum
(4.0 cr; Prereq-2511, 3011 or #, CIS majors only, min 60 cr; A-F or Aud, spring, offered periodically) Hands-on introduction to operating systems and tools. Systems administration experience with operating systems such as Linux, Unix, or Windows. Concepts of processor management and scheduling, memory management, file systems.
CS
3512
- Computer Science Theory
(4.0 cr; Prereq-1521, Math 1296 or 1596 or #; A-F or Aud, fall, spring, every year) Sets, relations, functions. Recursive definitions of functions and sets. Proof methods, including mathematical and structural induction, diagonalization. Program correctness, asymptotic time/space complexity. Formal language theory, including regular languages and expressions, deterministic/nondeterministic finite automata, Kleene's Theorem.
CS
3996
- Internship in Computer Science
(1.0 - 3.0 cr [max 3.0 cr]; Prereq-Comp sci jr, #; S-N or Aud, fall, spring, summer, every year) Practical, independent computer science experience in commercial, industrial, or educational setting. Department approval required before beginning internship.
CS
4411
- Data Communications and Network Technology
(4.0 cr; Prereq-2511, 3011 or #, CIS majors only, min 60 cr; A-F or Aud, spring, offered periodically) In-depth experience with telecommunications fundamentals, including voice-video-data transmission in LAN and Internet. Network protocol analysis and implementation. Network layered architecture and abstractions. Installation, configuration, systems integration, and management of the technologies.
CS
4531
- Software Engineering
(4.0 cr; Prereq-2511 or #; A-F or Aud, fall, spring, offered periodically) Recognition of conditions for production of high quality software. Use of current software development technology. Organization and management of software development projects. Includes a significant team project.
CS
4611
- Database Management Systems
(4.0 cr; Prereq-2511, 2521 or #; A-F or Aud, spring, offered periodically) Study of database management fundamentals focusing on the relational data model. Topics include database organization, file organization, query processing, concurrency control, recovery, data integrity, optimization and view implementation.
CS
4821
- Computer Security
(4.0 cr; Prereq-2511, 2521, 3512 or #; credit will not be granted if already received for 4711; A-F or Aud, fall, spring, offered periodically) Entropy and the underlying characteristics of text. Encryption-basic techniques based on confusion and diffusion and modern day encryption. Access, information flow and inference control. Program threats and intrusion detection. Network and Internet security. Firewalls, trusted systems, network authentication.
CS
4991
- Independent Study
(1.0 - 4.0 cr [max 8.0 cr]; Prereq-#; A-F or Aud, fall, spring, every year) Directed study of special interest topics not available in standard curriculum. Must be arranged with instructor before registration. May include readings, research, or special projects.
CS
4993
- Seminar
(1.0 cr; Prereq-2511, Comm 1112, Comp 3130 or 3150, CS or CIS major and 90 cr; no Grad School cr; A-F or Aud, fall, spring, every year) Written report and oral presentation of a topic relating to the social and ethical implications of computing.
CS
4994
- Honors Project
(2.0 - 3.0 cr [max 3.0 cr]; Prereq-Consent of comp sci honors prog committee; A-F or Aud, fall, spring, every year) Required for students who wish to participate in the computer science honors program. Students must complete a research project under supervision of a faculty adviser.
CS
4995
- Special Topics: (Various Titles to be Assigned)
(1.0 - 4.0 cr [max 8.0 cr]; Prereq-#; A-F or Aud, fall, spring, offered periodically) Study of selected topic announced in [Class Schedule].
CS
5511
- Theory of Computation
(4.0 cr; Prereq-3512, Math 3326 or instructor consent; A-F or Aud, spring, every year) Mathematical theory of computation and complexity. Deterministic and nondeterministic Turning machines, Church-Turning Thesis, recursive and recursively enumerable languages. Undecidable problems, Rice's Theorem. Time and space complexity, reducibility', completeness for complexity classes, Cook's Theorem, P versus NP, Savitch's Theorem, complexity hierarchy.
CS
5521
- Advanced Data Structures
(4.0 cr; Prereq-2511, 3512, Math 3326 or instructor consent; A-F or Aud, fall, every year) Survey of advanced data structures and algorithms such as heaps and heapsort, quicksort, red-black trees, B-trees, has tables, graph algorithms, divide and conquer algorithms, dynamic programming, and greedy algorithms. Methods for proving correctness and asymptotic analysis.
CS
5541
- Artificial Intelligence
(4.0 cr; Prereq-2511, 3512 or #; A-F or Aud, fall, offered periodically) Principles and programming methods of artificial intelligence. Knowledge representation methods, state space search strategies, and use of logic for problem solving. Applications chosen from among expert systems, planning, natural language understanding, uncertainty reasoning, machine learning, and robotics. Lectures and labs will utilize suitable high-level languages (e.g., Python or Lisp).
CS
5551
- User Interface Design
(4.0 cr; Prereq-2511, Math 2326 or 3326 or 4326 or #; A-F or Aud, fall, offered periodically) Design and layout of interactive programs using components, containers, events, menus, and dialogs. The use of graphics primitives, color and images; giving user feedback and help. Rapid prototyping and interface management systems. Design for accessibility and usability.
CS
5621
- Computer Architecture
(4.0 cr; Prereq-2521 or #; A-F or Aud, spring, every year) Advanced concepts in processor and computer system organization and their impact on performance. Exploitation of parallelism, multilevel memory organization, system interconnection, and imput-output organization.
CS
5631
- Operating Systems
(4.0 cr; Prereq-2511, 2521 or #; A-F or Aud, fall, spring, every year) Operating system as resource manager. Processor management and scheduling, deadlocks, concurrency, memory management and protection and security as applied in modern operating systems. Concepts are illustrated via laboratory assignments which heavily emphasize concurrency.
CS
5641
- Compiler Design
(4.0 cr; Prereq-2511, 2521, 3521 or #; A-F or Aud, fall, offered periodically) A selection from the following topics: finite-state grammars, lexical analysis, and implementation of symbol tables. Context-free languages and parsing techniques. Syntax-directed translation. Run-time storage allocation. Intermediate languages. Code generation methods. Local and global optimization techniques.
CS
5651
- Computer Networks
(4.0 cr; Prereq-2511, 2521 or #; A-F or Aud, fall, every year) Introduction to computer networking, network programming, networking hardware and associated network protocols. Layered network architecture, network services, and implementation of computer networking software.
CS
5721
- Computer Graphics
(4.0 cr; Prereq-2511, Math 2326 or 3326 or 4326 or #; A-F or Aud, fall, offered periodically) Mathematics for computer graphics, basic raster algorithms, 2D and 3D transformations and viewings. The graphics pipeline including visible surface determination, shading, tranformations, and viewings. The graphic pipeline including visible surface determination, shading, ray-tracing, texture mapping, and clipping. Data structures: triangle meshes, scene graphs, ray-tracing, texture mapping, and clipping. Data structures: triangle meshes, scene graphs. Graphics applications using software systems such as Open GL.
CS
5741
- Object-Oriented Design
(4.0 cr; Prereq-2511, 3512 or #; A-F or Aud, fall, spring, offered periodically) Overview of software design and design methods, focusing on object-oriented
design. Impact of object and class organization on software maintenance and reusability. Implementation of a significant project using object-oriented methods and tools.
CS
5751
- Introduction to Machine Learning
(4.0 cr; Prereq-2511, 3512, Stat 3611, Math 2326 or 3326 or 4326 or #; A-F or Aud, spring, offered periodically) Survey of methods in machine learning including supervised and unsupervised methods. Topics covered may include clustering, decision trees, neural networks, support vector machines, genetic algorithms and reinforcement learning. Theoretical concepts associated with machine learning.
CS
5761
- Introduction to Natural Language Processing
(4.0 cr; Prereq-2511, 3512 or #; A-F or Aud, fall, offered periodically) Techniques for creating computer programs that analyze, generate, and understand natural human language. Topics include syntactic analysis, semantic interpretation, and discourse processing. Applications selected from speech recognition, conversational agents, machine translation, and language generation. Substantial programming project required.
CS
5991
- Independent Study
(1.0 - 4.0 cr [max 8.0 cr]; Prereq-#; A-F or Aud) Directed study of special interest topics not available in the standard curriculum. Must be arranged with the instructor in advance of registration. May include readings, research, or special projects.
CS
5994
- Advanced Topics in Computer Science
(4.0 cr; Prereq-Grad student or #; A-F or Aud, fall, spring, offered periodically) Research-oriented study of topics of current academic or industrial interest, such as parallel algorithms, VLSI design, computational geometry, logic programming languages, program correctness, information retrieval systems, and decision support systems.
CS
8333
- FTE: Master's
(1.0 cr; Prereq-Master's student, adviser and DGS consent; No Grade, fall, spring, every year) (No description)
CS
8511
- Advanced Theory of Computation
(4.0 cr; Prereq-4511 or #) Mathematical theory of computability and computational complexity. Deterministic and nondeterministic Turing machines. Recursive and recursively-enumerable languages. Undecidable problems, Rice's Theorem, the Church-Turing thesis. Time and space complexity. P-time reductions, completeness for complexity classes, Cook's Theorem, P=NP, and the polynominal hierarchy.
CS
8561
- Human Computer Interaction
(4.0 cr; Prereq-5551 or 5721; A-F only, fall, every year) Introduction to the software algorithms, hardware components, and concepts for building and evaluating virtual environments for effective human-computer interaction (visual, auditory, haptic, and mechanical aspects). Includes the perceptual components for constructing effective human-computer interaction with a virtual environment.
CS
8621
- Advanced Computer Architecture
(4.0 cr; Prereq-5621, 5631 or #; A-F or Aud, fall, spring, offered periodically) Algorithmically-specialized functional units. Principles of advanced memory subsystem organization, including virtual memory and caches. Novel hardware technologies. Foundations of parallel architectures: from supercomputers to cluster environments. Advanced hardware/software performance analysis.
CS
8631
- Advanced Systems Programming
(4.0 cr; Prereq-5631, 5641 or #; A-F or Aud) Overview of systems programs with emphasis on unifying themes common to major application areas, such as compiler construction, operating systems, and networks. Advanced study of practical aspects of one of these systems, including a substantive software development project.
CS
8721
- Advanced Computer Graphics
(4.0 cr; Prereq-5721 or #; A-F or Aud, fall, spring, offered periodically) Contemporary computer graphics techniques. Focus on advanced graphics algorithms and programming, curve and surface representations, physically based rendering, visible surface determination, illumination, texturing, and real time rendering.
CS
8731
- Information Retrieval
(4.0 cr; Prereq-5731 or #) Methods, major models, and theoretical issues in automatic processing and retrieval of text. Statistical and syntactic approaches, very large database issues (data mining), distributed retrieval, web retrieval and relevant applications.
CS
8751
- Advanced Machine Learning
(4.0 cr; Prereq-5751 or #; A-F or Aud) Survey of emerging research topics in machine learning and data mining plus the relation of machine learning to fields such as bioinformatics. Topics drawn from emerging techniques such as support vector machines, ensemble methods and Bayesian networks.
CS
8761
- Natural Language Processing
(4.0 cr; Prereq-5761 or #; Grad student; A-F or Aud, fall, spring, offered periodically) Techniques to analyze, generate, and understand human language via computational techniques. This course focuses on empirical approaches to lexical and syntactic analysis, semantic interpretation, and discourse processing. Applications include part-of-speech tagging, parsing, lexical acquisition, and machine translation.
CS
8771
- Advanced Computational Logic
(4.0 cr; Prereq-4511 or #; Grad student; A-F or Aud, fall, spring, offered periodically) Mathematically sound reintroduction to classical logic. Syntax, semantics, and proof theory for propositional and first-order logic. Soundness and completeness. Incompleteness. Additional topic(s)from among: automated theorem proving, second-order logic, nonmonotonic logics and knowledge representation, logic programming.
CS
8777
- Thesis Credits: Master's
(1.0 - 24.0 cr [max 50.0 cr]; Prereq-Max 18 cr per semester or summer; 10 cr total required (Plan A only); No Grade, fall, spring, every year) (No description)
CS
8993
- Seminar
(1.0 cr [max 3.0 cr]; Prereq-instructor consent; A-F or Aud, fall, spring, every year) Presentation and discussion of basic ethical theories, case studies dealing with ethical issues facing the computing professional in his/her life as a practitioner, and the development of research proposal which meets the requirements and standards of the department and serves as the foundation of and guideline for the development of the graduate research project (i.e., thesis).
CS
8995
- Special Topics: (Various Titles to be Assigned)
(1.0 - 4.0 cr [max 8.0 cr]; Prereq-CS Grad student, #; A-F or Aud, fall, spring, offered periodically) Topics not available in standard curriculum. Topic announced in [Class Schedule].
|
|
|
|
 |
|
 |