Computer Science Undergraduate Courses

for more detail see University Bulletin 1997-99

101 Orientation. (1-0) R. F.S. Introduction to the policies of Iowa State University and the Department of Computer Science. Issues relevant to student adjustment to college life will be discussed. Review of college and university requirements, transfer credits, academic planning, university policies and deadlines, preregistration. Offered on a satisfactory-fail basis only.

104 Introduction to Computers. (3-2) Cr. 4 F. Use of personal computer and workstation operating system and software. Overview of machine architecture and telecommunications. Project-oriented approach to word processing, spreadsheet, presentation, database management, email, Internet usage, HTML, and other software. Beginning programming in visual BASIC, and animation scripting. Topics from computer history, programming languages, algorithm development, and social impact. No prior computer experience necessary. This course is for computer science major only.

227 Introduction to Computer Programming. (3-1) Cr 3. F.S. Prereq: Math 141/142 or placement into Math 165 or higher. An introduction to computer programming. Symbolic and numerical computation. Recursion and iteration. Modularity and data abstraction. Object-oriented techniques. Emphasis on the principles of programming and program design through extensive practice in writing, running, and reasoning about programs. This course is designed for majors.

228 Introduction to Data Structures. (3-1) Cr. 3. F.S. Prereq: 227, credit or enrollment in Math 165. An object-oriented approach to data structures and algorithms using C++ language. Object-oriented programming. Program correctness. Stacks, queues, trees, searching, sorting, analysis of algorithms, graphs, and file processing. Emphasis on writing and running programs. This course is designed for majors only.

290. Independent Study. Cr. Arr. F.S. Prereq: Permission of instructor. Satisfactory/fail only. H. Honors.

301. Careers in Computer Science. (1-0) Cr. R. F.S. Half semester. Computer science as a profession. Introduction to career fields open to computer science majors. Relationship of coursework to careers. Presentations by computer science professionals. Satisfactory/Fail only.

309. Software Development Practices. (3-0) Cr.3 F.S. Prereq: 208 or 228. A practical introduction to methods for managing software development. Precess models, requirements analysis, structure and object-oriented design, coding, testing, maintenance, cost and schedule estimation, metrics.

311. Design and Analysis of Algorithms. (3-1) Cr.3 F.S. Prereq: 208 or 228,330 or CprE 310. Basic techniques for design and analysis of efficient algorithms that act on data structures. Set manipulation, sorting, graph processing, and memory management algorithms. Programming projects.

321. Introduction to Computer Architecture and Machine-Level Programming. (3-1). Cr. 3 F.S. Prereq: 107 or 207 or 227 and credit or enrollment in Cpr E 210. Machine-level programming including assembly language. Input/output and interrupts. Introduction to computer architecture and organization with emphasis on instruction sets, memory-hierarchy design, and performance.

330. Discrete Computational Structures. (3-1) Cr. 3. F.S. Prereq: 207 or 227 and Math 165. Concepts in discrete mathematics as applied to computer science. Logic, set theory, relations, graphs, combinatorics and their computational aspects.

331. Theory of Computing. (Ling 331) (3-1). Cr.3 F.S. Prereq: 330 or CprE 310. Models of computation, finite state automata, pushdown automata and Turning machine. Study of grammars and their relation to automata. Limits of digital computation, unsolvability and Church_Turing thesis. Chomsky hierarchy and relations between classes of languages.

342. Principles of Programming languages. (3-1). Cr. 3. F.S. Prereq: 321, credit or enrollment in 331, and 309 or 361. Organization of programming languages emphasizing language design concepts and semantics. Study of language features and major programming paradigms, including functional programming. Programming projects.

352. Introduction to Operating Systems. (3-1). Cr. 3. F.S. Prereq:321,361. Survey of operating systems issues. Introduction to hardware and software components including processors, peripherals, interrupts, process and memory management, deadlocks, files systems, protection, virtual machines and systems organization. Programming projects.

361. File Organization and Processing. (3-1). Cr. 3. F.S. Prereq: 208 or 228. Concepts and techniques of structuring and processing data on external storage devices. Hardware and its parameters. Basic file organization including: sequential, indexed, indexed-sequential and hash lines.Hybrid file organization.

401 Computer Based Information Systems. (2-2). Cr. 3. F. Prereq:361 and additional 9 credits in Com S at the 200 level or above, Engl 105, and SpCm 212. Systems concepts and implementations for supporting production oriented information systems; data and terminal access methods, operating systems, implementations, data base management systems, implementations, data dictionary considerations; data communication considerations; lab experiments and implementations. Written and Oral report.

411 Software Engineering. (3-1). Cr. 3. Alt. F. offered 1998. Prereq: 311 or CprE 305. Engl 105, SpCm 212. Principles and techniques for methodical construction of quality software. Software requirements specification, programming paradigms, module specification techniques, testing and validation procedures; proof of program correctness. Emphasis on team projects. Written or Oral report.

425. High Performance Computing for Scientific and Engineering Applications. (3-1). Cr.3. Alt. S., offered 1998. Prereq: 330 Engl 105, SpCm 212. Introduction to high performance computing using different computing platforms including parallel computers and workstation clusters. Discussion of performance, visualization, and software development issues. Sample applications from science and engineering. Practical issues in high performance computing will be emphasized via a number of programming projects and case studies. Written and Oral report.

430x. Advanced Programming Tools. (3-1). Cr.3. Alt. F., offered 1997. Prereq: 361, 311, Enlglish 105, SpCm 212. Topics in advanced programming tools and techniques widely used by industry om PC platforms, e.g. event-driven programming and graphical user interfaces, standard template libraries, advanced topics in object-oriented programming, client-server architectures and techniques for distributed applications. Emphasis on prgramming projects in Visual C++. Oral and written reports. OPen to graduate students for minor credit only.

440. Principles of Compiling. (3-1). Cr. 3. S. Prereq: 342, Engl 105, SpCm 212. Techniques of parsing. Lexical analysis, modern top-down and bottom-up parsing techniques, syntax directed translation and code generation. Principles are reinforced through a number of programming projects. Written or Oral report.

454 Implementation of Operation Systems and Distributed Computing Environment. (3-1). Cr. 3. Alt., S. offered 1999. Prerep: 311,352, Engl 105, SpCm 212. Laboratory coarse dealing with practical issues of design and implementation of operating systems and distributed computing environments. These includes process management, device drivers, file systems, interrupts and signal handlers, remote procedure call, and multithreading. Oral or Written report.

461. Introduction to Database Systems. (3-1). Cr. 3. F. Prereq: 311, 361, Engl 105, SpCm 212. Introduction to database concepts data models (relational, hierarchical, and network models), data manipulation languages, and description languages, system implementation issues, security and data integrity. Oral and Written report.

472. Principles of Artificial Intelligence. (3-0). Cr. 3. Prereq: 330 or CprE 310, 342 or comparable programming experience, Engl 105, SpCm 212. Foundations, scope, and problems of artificial intelligence (AI) and cognitive science. State-space search techniques for problem solving. Knowledge representation and automated inference. Machine learning. Neural and evolutionary approaches to AI. Artificial life. Selected applications in planning, machine perception, analysis, design, and intelligent agent architectures. AI programming using common LISP. Written or Oral report.

474. Elements of Neural Computation. (3-1). Cr. 3. S. Prereq: Engl 105, SpCm. 212, Math 165, ComS 330, or Cpr.E 310, and programming experience. Introduction to theory and applications of neural and evolutionary computation. Mathematical and computational models of neural and networks of neurons. Neural associative memories, pattern classifiers, function approximators, and learning algorithms. Stochastic search and genetic algorithms. Applications in artificial intelligence. Cognitive and Neural Modeling. Computer Science and Robotics. Hands-on experience with neural and evolutionary computation emphasized through the use of simulation tools and laboratory projects. Written and Oral report.


Computer Engineering

210 Introduction to digital Techniques. (3-3) Cr. 4. F.S. Prereq: Sophomore classification. Number systems and codes. Introduction to Boolean algebra. Combinational and sequential logic. Logic elements. Digital representation of data. Design of digital subsystems. Use of basic instruments such as logical probes and logic analyzers. Introduction to computer-aided schematic capture, simulation, and PLD design tools. Programmable logic devices.

484 Computer Organization and Design II. (Com S 484). (2-3). Cr. 3. F. Prereq: 305. Implementation of key aspects of a computer architecture. Virtual and segmented memory architectures, interrupt, programming and DMA I/O implementation of message passing, shared memory, and semaphores in a multitasking environment; design of systems using bit-slice and PLA technology. Emphasis on laboratory experiments using several departmental facilities.

489. Computer Network and Data Communications. (3-0) Cr. 3. F. Prereq: 305. Survey of modern computer networking and data communications. Contemporary concepts, facilities, practices, implementations and issues.


English Courses Primarily for Undergraduate Students

10. Intensive English and Orientation Program(20-5) Cr. O F.S.SS. Prereq: Recommendation of the English Department. Full-time study of English for speakers of other languages. Offered on a satisfactory-fail basis only.

*101. English for Native Speakers of Other Languages. F.S. Prereq: Recommendation of English Department: 101C, 101B or placement in 101C;, Placement in various sections is determined by the examination. For undergraduates: Completion of English 101 requirement prepares for English 104.

  A. Spoken English Cr. var. 1-3 S.F.
  B. Intermediate-level Grammar Review and Composition. Cr.3
  E. Supervised Independent Study. Cr. 1 to 3 each time taken/S/F/
     Section 1. Listening Cr. var: 1 to 2
     Section 2. Vocabulary Cr. 1
     Section 3. Reading Cr. 1
---------
* The University does not allow credit in English 101 to count toward
graduation. Persons whose native language is English cannot take 
English 101 for credit.

104, 105, 105H. Freshman Composition. (3-0) Cr.3 each. 104, 105: F.S.SS. 105H: F.Prereq: 105: 104 or exemption from 104; 105H: Exemption from 104 and admission to Freshman Honors Program. Emphasis on development of writing skills. Eight to ten formal papers required each semester. Readings from a variety of sources.

302. Business Communication. (3-0) Cr.3. F.S.SS. Prereq: 105, junior classification. Theory principles and processes of effective written communication typically encountered in business and the professions. Extensive writing practice in standard letter and memo forms, short proposals, policy and procedure descriptions, job descriptions, application letters, resumes, autobiographical summaries, performance reviews and evaluations, and letters of recommendation.

309. Report and Proposal Writing. (3-0) Cr.3.F.S.SS. Prereq: 105, junior classification. Nature, function,and types of reports and proposals. Analysis of readers, methods of research , procedures for drafting and revision, design of layouts. Extensive Writing practice with reports and proposals.

314. Technical Communication. (3-0) Cr.3. F.S.SS. Prereq: 105, junior classification.Theories, principles, and processes of effective written communication in the technical disciplines. Attention to the major strategies for composing technical discourses; techniques of analyzing audiences and writing situations, and for organizing data and information.

The College of Liberal Arts and Sciences requires the study a foreign language for graduation. This can be accomplished by studying three years of the same foreign language in high school, or two years of the same foreign language in high school PLUS a year of foreign language at ISU. A minimum of 2 years is required for ADMISSION to ISU. Non-native speakers of English satisfy this requirement by taking English.


Math

165, 166. Calculus I, II. (4-0) Cr.4 each. F.S.SS. Prereq: 2 years of high school algebra, 1 year of geometry, 1 semester of trigonometry, satisfactory performance on placement exam or enrollment in 141 or 142. 166: Grad of C- or better in 165. Functions limits and continuity, differentiation, integration, polar coordinates, series.

265. Elementary Multivariable Calculus. (4-0) Cr.4. F.S.SS. Prereq: Grade C- or better in 166. Vectors, functions of several variables, gradients, multiple integrals.

266. Elementary Differential Equations. (3-0) Cr.3. F.S.SS. Prereq: Grade C- or better in 166. Elementary theory and application of ordinary differential equations, matrices and solutions of liner equations. eigenvalue methods for systems of liner differential equations.

267. Elementary Differential Equations and Laplace Transforms. (4-0). Cr.4.F.S.SS. Prereq: 265. Same as 266 but also including Laplace transforms and series solutions to ordinary differential equations.

304. Introductory Combinatorics. (3-0) Cr.3. F. Prereq: 166. Permutations, combinations, binomial coefficients, inclusion-exclusion principle, discrete probability, classical probability. Additional topics selected from recurrence relations, generating functions, random walks, Markov chains.

307. Theory of Matrices. (3-0) Cr.3. F.S.SS. Prereq: 2 semesters of calculus. The algebra of matrices including vector spaces, simultaneous linear equations, determinants, quadratic forms, eigenvalues, and diagonalization over the real and complex numbers

314. Graphs and Networks. (3-0) Cr.3. S. Prereq: 166. Graphs, directed graphs, and trees. Connectedness. Graph colorings, Eulerian and Hamiltonian chains. Matching and covering. Optimization for networks. Applications.

317. Theory of Linear Algebra. (4-0) Cr.4. F.S. Prereq: 166. Systems of linear equations, determinants, vector spaces, inner product spaces, linear transformations, eigenvalues and eigenvectors. Emphasis on writing proofs and results.


Mechanical Engineering

519. Computer Graphics and Geometric Modeling. (3-0) Cr. 3 F. Prereq: 311, programming experience in C. Fundamentals of computer graphics technology. Data structures. Parametric curve and surface modeling. Solid model representations. Applications in engineering design, analysis, and maufacturing.


Physics

221. Introduction to Classical Physics I. (4-5-1) Cr.5 F.S.SS. Prereq: Credit or enrollment in Math 166. For engineering and science majors. 3 hours of lecture each week plus 3 recitation and 1 laboratory every 2 weeks. Elementary mechanics, including kinematics and dynamics of particles, work and energy; linear and angular momentum, conservation laws, rotational motion, oscillations, gravitation. Electric forces and fields. Electrical currents, DC circuits.

222. Introduction to Classical Physics II. (4-2) Cr.5 F.S.SS. Prereq: 221. Math 166. Waves and sound, magnetic forces and fields; LR, LC, LCR circuits, time-dependent electromagnetic fields; electromagnetic waves, ray optics and image formation, wave optics; heat, thermodynamics, kinetic theory of gases; wave particle duality.


Philosophy

442. Philosophy of Technology. (T SC 442)(3-0). Cr. 3. Prereq: 6 credit of social science or T SC 341 and 3 credits of social science. Conditions under which technological innovations contribute to human emancipation, relationship of technology and democracy, utility, and limits of technical rationality, and problems of ensuring that benefits of technological advances communally shared, issues discussed with reference to contemporary developments in microelectronics, technology transfer to the Third World, etc.


Speech Communication

212. Fundamentals of Speech Communication. (3-0). Cr. 3. F.S.SS. Theory and practice of basic speech communication principles applicable to interpersonal communication and extemporaneous public speaking.


Statistics

105. Introduction to Statistics for Engineers. (3-0). Cr. 3. F.S. Prereq: Math 165. Statistical concepts with emphasis on engineering applications. Data collection descriptive statistics; probability distributions and their properties; elements of statistical inference; regression; statistical quality control charts.

231. Probability and Statistical Inference for Engineers. (4-0). Cr. 4. Prereq: Math 166. Emphasis on engineering applications. Basic probability, random variables and probability distributions; joint and sampling distributions; propagation of error. Descriptive statistics; confidence intervals, hypothesis testing, simple linear regression; multiple linear regression; one way analysis of variance, use of statistical software on the university computer.

305. Engineering Statistics. (3-0). Cr. 3. F.S. Prereq: Math 165. Statistics for engineering problem solving and emphasis on the design and analysis of experiments. Descriptive statistics; elementary probability distributions; principles of experimentation, confidence interval and significance tests; one- two-, and many-factor studies; regression analysis. Use of statistical software on the university computer.

341, 342. Introduction to Theory of Probability and Statistics. (Math 341, 342). (3-0). Cr. 3 each. 341 F.S. 342 S. Prereq: 341: Math 265 or 371; 342: 341, Math 307. Probability; distribution functions and their properties; sampling distributions; theory of estimation and tests of hypothesis; linear hypothesis theory; regression and correlation. Enumerative data, nonparametric methods.

The courses listed here DO NOT include a description of the 9 credits still needed to complete the Arts and Humanities requirement or the 9 credits needed to complete the Social Science requirement, or the additional one course required in natural science.

Extensive lists of applicable courses are available only from the Computer Science Advising Office-223 Atanasoff Hall.