banner
Undergraduates Graduates Faculty AlumniDonations

UNDERGRADUATE COURSE DESCRIPTIONS

Brian Slator, Head brian.slator@ndsu.edu

Version: March 2008

 

Course NumberDescription# of CreditsDescription
114 Microcomputer Packages3General introduction to computer concepts, operating systems, the internet, word processing, spreadsheets, database management and presentation software. Credit awarded only for CSci 114, CSci 116 not both.
116 Business Use of Computers4Exploration of how microcomputers are used in business.  Use word processing, spreadsheet, database, graphing and telecommunication applications.  Credit awarded only for CSci 114, CSci 116 not both.
122 Programming in BASIC3Introduction to programming on microcomputers in Visual BASIC.  Students will write several programs.
125 COBOL Programming3Survey of the entire COBOL language and its use in business applications.  Students will write several programs.
126 FORTRAN Programming3Introduction to FORTRAN and its use in scientific programming.  Students will write several programs.  Prereq: Math 103 or 107
155Immigration2Introduction to programming in the current language of CSci 160.  For transfer students with CSci 160 or equivalent, in a language different from that used here.  Prereq: CSci 160.
159 Computer Science Problem Solving3Computer based problem solving techniques are introduced in the context of the Internet, including web-site development.  Programming concepts, data structures and algorithms, as well as modeling techniques are discussed.
160Computer Science I4Introduction to computer science including problem solving algorithm development, and structured programming in a high-level language.  Emphasis on design, coding, testing and documentation of programs using accepted standards of style.   3 recitations, 2 one-hour laboratories.
161Computer Science II4Advanced concepts in computer science including data structures, algorithm analysis, standard problems such as searching and sorting and memory management issues. 3 recitations, 2 one-hour laboratories.  Prereq: CSci 160.
172 Intermediate BASIC/Visual BASIC3Elements of Visual BASIC for those with previous programming background.  Topics include fundamental constructs, Active X controls, file processing, database management, and SQL.  Prereq: one semester/experience in any programming language
212Self paced C++1Introduction to the C++ programming language.  Students complete exercises and programming assignments at their own pace.  Prereq: Programming skill in another language.
214Self paced C1Introduction to the C programming language.  Students complete exercises and programming assignments at their own pace.Prereq: CSci 160.
222Discrete Mathematics3Sets, functions, relations, logic, methods of proof, mathematical induction, combinatorics, recurrence relations, generating functions.  Prereq: CSci 160.
227-228Computing Fundamentals I, II3 eachTwo-semester sequence focused on problem solving and writing computer programs in a modern high-level programming language in a state-of-the-art programming environment. Second semester includes an introduction to the object-oriented programming paradigm. Prereq: for 227: Math 103 or 107; Prereq: for 228: CSci 227.
275 Digital Systems I3Introduction to number systems, combinatorial circuits and sequential circuits.  Prereq: CSci 161.
277 Introduction to UNIX 3This course introduces students to the UNIX operating system environment. Topics include basic UNIX commands, operating system installation and administration, application installation, use of alternative shells, web servers, and system security. Cross-listed with MIS.
315System Analysis and Design3Introduction to the front end of the software development life cycle.  Students will learn various modern concepts, techniques and tools for analyzing and designing well structured software systems.  Prereq: CSci 160.
316System Testing and Maintenance3Introduction to the back end of software development life cycle.  Students will learn various modern concepts, techniques and tools for testing and maintaining software systems.  Prereq: CSci 315.
335 [235] Theoretical Computer Science I3Models of computation, regular expressions, finite automata, Kleene's Theorem, lexical analysis, context free grammars, pushdown automata, introduction to parsing.  Prereq: CSci 161, CSci 222.
336 [236] Theoretical Computer Science II3Parsing techniques, context-free languages, Turing machines, recursive and recursively enumerable languages, unrestricted grammars, unsolvable decision problems, computability, introduction to computational complexity.  Prereq: CSci 335.
345Topics in Personal Computers3Exploration of some aspects of personal computers not covered in other courses, varies each time it is offered and may be taken more than once for credit.  Prereq: CSci 161.
366Files for Database Systems3File organization techniques, design and implementation of database systems.  Prereq: CSci 161.
371 Web Scripting Languages 3This course examines Scripting Languages and their applications. Emphasis will be placed on web scripting. A representative set of scripting languages will be covered. Prereq: CSci 122 or equivalent. Cross-listed with MIS.
372Comparative Languages3Explanation of the concept and impact of a block structured language.  Several languages will be compared with respect to application, suitability, syntax, and semantics.  Prereq: CSci 161 or CSci 228
373Assembly Programming3Machine language, assembly language and related hardware concepts, assembly language programming, macros and subroutines, system facilities and macros.  Prereq: CSci 160.Cross-listed with ECE.
374Computer Organization and Architecture3Organization and structure of the major sections of a computer:  CPU, memory, and I/O system organization and implementation issues.  Prereq: CSci 373. Cross-listed with ECE..
413/613 Principals of Software Engineering 3An introduction to concepts of software engineering. Software Development activities through a project. Lifecycle models, requirements, specification, design, implementation, and testing. Software quality, tools, and techniques. A term paper for graduate students. Prereq: CSci 161.
418/618Simulation Models3Fundamental techniques involved in using a computer to simulate business, social and industrial systems.  Includes principles of random variate generation, statistical sampling and design of experiments.  Prereq: Stat 367.
426/626Introduction to Artificial Intelligence3An introduction to artificial intelligence for undergrads.  Basic AI concepts and techniques will be covered.  Prereq: CSci 372.
436/636 Intelligent Agents 3Fundamentals of Intelligent Agents technology, agent communication languages, applications, and intelligent agent development.  Prereq: CSci 372
445 Software Projects Capstone3Presentations on the mechanics of working cooperatively as a team doing commercial software development.  Students work in teams to deliver realistic work products to local businesses.  Course presentations cover teamwork, software development pragmatics, and software documentation.  Prereq:  CSci 366; Coreq: CSci 489.
448/648 Digital Image Processing 3Introduction to fundamental principles and techniques of digital image processing; image enhancement, image compression, and image analysis.  Emphasis on hands-on experience in using software development packages and implementation of various image processing algorithms.  Prereq: CSci 372, MATH 166
453/653Linear Programming and Network Flows3Linear programming models and applications, primal and dual formulations, computational procedures, introduction to networks, maximum flow and shortest path problems.  Prereq: Math 265.
454/654Operations Research3Deterministic and probabilistic models of OR: networks and project management, dynamic programming, non‑linear programming, inventory, queuing, reliability, stochastic processes and simulation.  Prereq: CSci 453/653, Stat 367.
458/658Microcomputer Graphics3Information on the techniques by which computers generate images of 2D and 3D objects.  Principles to guide the use of computer graphics to enhance human-computer interaction.  Prereq: CSci 372, Math 146 or 165.
459/659Foundations of Computer Networks 3This is an introduction to fundamental concepts for the design and analysis of broadband networks.  Topics include resource allocation, routing, congestion control, medium access, scheduling and multicast.  Concepts are applied to state-of-the-art systems and protocols such as current and future internet protocols.  Prereq: CSci 214, 474.
460/660Dynamic Programming3Basic principles and algorithms of dynamic programming as applied to sequential decision problems in CS and OR.  Prereq: Math 161.
467/667Algorithm Analysis3The design, correctness, and analysis of algorithms and data structures.  Prereq: CSci 161, MATH 166, CSci 222 or MATH 270.
468/668Database Systems Design3Overview of the maintenance and manipulation of databases.  Includes a large project in C++.  Prereq: CSci 366.
469/669 Network Security3Cryptography and its application to network and operating system security; authentication; email, web, IP and wireless security; firewalls and intrusion detection techniques; security threats and countermeasures. Legal and ethical issues.  Prereq: CSci 222, CSci 459/659, C/C++ or JAVA.
473Foundations of the Digital Enterprise3This course is designed to familiarize individuals with current and emerging electronic commerce technologies using the Internet.Prereq: CSCI 372..
474Operating Systems Concepts3 How operating systems manage the resources of a computer.  Topics include processes, concurrency, scheduling, deadlocks, memory allocation, virtual and secondary storage.  Prereq: CSci 374.
475/675Operating Systems Design3Advanced operating systems topics such as protection, errors, and distributed systems.  Case studies of representative operating systems.  Students work in small teams to implement their own basic OSs.  Prereq: CSci 474.
476/676 Computer Forensics 3This course introduces principles, techniques, tools and practical skills necessary to perform rudimentary investigation of incidents in which computers play a significant or interesting role.  Prereq. CSci 474.
477/677Object-Oriented Systems3An introduction to the concepts and advantages of object-oriented computer systems.  Introduces exercises with at least one such language.  Prereq: CSci 372.
479/679 Intro to Data Mining 3Introduction to Data Mining includes basic data mining techniques, querying, spreadsheet data mining, data warehouses, evaluation techniques, knowledge discovery in databases, examples and a survey of advanced techniques. Prereq: A basic database course(e.g. CSci 366, 468, 668 or 765) or consent of instructor.
488/688Human-Computer Interaction3Survey of the methodologies and alternatives used in developing and evaluating human computer interfaces.  Prereq: CSci 372.
489/689Social Implications of Computers3Presentation and discussion of several ethical and social issues which have arisen from the introduction of the computer including copy protected software, and liability for computer software errors.  Prereq: CSci 372
October 18, 2011