Bachelor of Science in Computer Science and Crop Sciences

Email: academic@cs.illinois.edu or cropsci@illinois.edu

Minimum required major and supporting coursework equates to 74-77 hours. All Campus General Education and College of ACES foreign language requirements must be met. The minimum hours required for graduate is 126. At least twenty-one hours of 300- and 400-level courwork must be taken on this campus.

A Major Plan of Study Form must be completed and submitted to the Department of Computer Science Office of Undergraduate Affairs and to the Undergraduate Teaching Office in Crop Sciences by the beginning of the fifth semester (60-75 hours). Please see the Computer Science advisor in 1210 Siebel Center, as well as the Crop Sciences Teaching Coordinator in Turner Hall AE-120.

To graduate from the Computer Science and Crop Sciences curriculum, a student must complete the following coruses, all of which must be taken for a traditional letter grade.

Prescribed Courses including Campus General Education

Composition I and Speech
RHET 105
CMN 101
Writing and Research
and Public Speaking
6-7
Advanced Composition
Select from campus-approved list.3-4
Cultural Studies
Select one course from Western Cultures and one from Non-Western/U.S. Minority Cultures from campus-approved lists.6
Foreign Language
Coursework at or above the third level is required for graduation.0-15
Quantitative Reasoning I
See Mathematical Foundations for specific requirement.3
Quantitative Reasoning II
See Mathematical Foundations for specific requirement.3
Natural Sciences and Technology
See Crop Sciences Core for specific requirement.6
Humanities and the Arts
Select from campus-approved list.6
Social and Behavioral Sciences
Select from campus-approved list.6
ACES Required
ACES 101Contemporary Issues in ACES2
Computer Science Core22
CS 100Freshman Orientation1
CS 125Intro to Computer Science4
CS 126Software Design Studio3
CS 173Discrete Structures3
CS 225Data Structures4
CS 374Introduction to Algorithms & Models of Computation4
CS 421Progrmg Languages & Compilers3
Computer Science Technical Track9-11
To include either CS 240, or CS 233 and CS 241, plus up to two CS 400-level classes per approved list and constraints maintained on Computer Science department website.
Mathematical Foundations (fulfills Quantitative Reasoning I and II)12-13
CS 361Probability & Statistics for Computer Science3
MATH 220Calculus4-5
or MATH 221 Calculus I
MATH 225Introductory Matrix Theory2
MATH 231Calculus II3
Crop Sciences Core34-36
CPSC 112Introduction to Crop Sciences4
Select two of the following:6
Introduction to Weed Science
Applied Entomology
Introductory Plant Pathology
CPSC 261Biotechnology in Agriculture3
CPSC 265Genetic Engineering Lab3
CPSC 266Data in Biology and Agriculture4
CPSC 352Plant Genetics4
CPSC 440Applied Statistical Methods I4
Select two of the following:5-7
Crop Growth and Management
Advanced Plant Genetics
Principles of Plant Breeding
Genomics for Plant Improvement
CPSC 498Crop Sci Professional Develpmt1
Total Hours126

CPSC Class Schedule

Crop Sciences Courses

CPSC 111   Farming Systems   credit: 2 Hours.

General introduction to the equipment and practices commonly used on Midwest farms. Classes will consist of short lectures followed by demonstrations. All classes and demonstrations will be conducted at the University of Illinois Crop Sciences Research and Education Center. Includes field trips to local production and agribusiness facilities.

CPSC 112   Introduction to Crop Sciences   credit: 4 Hours.

Introductory course covering the principles and practices of crop production and sustainable agroecosystem management. Topics include plant growth and development, environmental factors influencing plant productivity, soil management, fertility, and nutrient cycling, pest control principles, and sustainability challenges facing modern crop production. Concepts are discussed in lecture and reinforced in hands-on laboratory sections.
This course satisfies the General Education Criteria for:
UIUC: Life Sciences

CPSC 113   Environment, Agric, & Society   credit: 3 Hours.

Introduction to agriculture and the environment; examine the largest managed ecosystem and its influence on natural ecosystems; develop a working understanding of natural and agriculture ecosystems and their interaction; examine various agriculture management strategies that can be used to produce food for an increasing world population while maintaining or improving environmental quality.
This course satisfies the General Education Criteria for:
UIUC: Life Sciences
UIUC: Western Compartv Cult

CPSC 116   The Global Food Production Web   credit: 3 Hours.

Introduces students to the global web involved in the production of food we consume on a daily basis. Selected ecosystems of plants, people, and cultures in Asia, Africa, and Latin America will be studied based on involvement with various crops. Presents the origin and biology of plants; their evolution with humankind in various cultures; the spread and economic importance of crops around the world; and considers current hunger and environmental issues resulting from the global food web. Interactive communications with selected scientists, producers, and traders around the world through the World Wide Web and email system of the INTERNET permit students to get personal exposure to information and activities.
This course satisfies the General Education Criteria for:
UIUC: Non-Western Cultures

CPSC 117   Agriculture and Science of Coffee   credit: 3 Hours.

The growth and production of coffee and its impact on society and culture. The botanical aspects of coffee, coffee varieties/cultivars, and technologies for coffee growth, harvesting, post-harvest processing, and roasting will be discussed. The wide variety of coffee beverages, coffee flavor evaluation, coffee chemistry, coffee economics, and the physiological effects of coffee will also be examined.

CPSC 131   Agriculture in Mythology   credit: 3 Hours.

Compare and contrast the role agriculture and plant sciences played in the development of ancient cultures. Study agricultural references in ancient global mythology. Develop an appreciation of how agricultural diversity of various ancient cultures influenced mythology in the cultures in different regions.
This course satisfies the General Education Criteria for:
UIUC: Non-Western Cultures

CPSC 199   Undergraduate Open Seminar   credit: 0 to 5 Hours.

Experimental course on a special topic in crop sciences. Topic may not be repeated except in accordance with the Code. May be repeated up to a maximum of 12 hours in separate terms if topics vary.

CPSC 213   Evolution in Action   credit: 2 Hours.

Introduction to evolutionary theory. Examination of how domesticated species have evolved. Develops an appreciation of how agroecosystems have influences evolution of adjacent natural ecosystems. Elucidation of evolutionary mechanisms necessary for agricultural species to adapt to global climate change.

CPSC 215   The Prairie and Bioenergy   credit: 3 Hours.

Designed for students who are interested in bioenergy and its production from prairie land. Instructors will provide information on the global trend of bioenergy production and consumption, importance of bioenergy, the role of Illinois prairie land in bioenergy production, potential U.S. bioenergy production, biofuels from plants, and socio-environmental benefits of bioenergy.

CPSC 226   Introduction to Weed Science   credit: 3 Hours.

Fundamentals of weed biology, ecology, and management. Emphasis is placed on basic principles and specific management strategies that are relevant to both crop and non-crop ecosystems. Includes a laboratory/discussion. Same as HORT 226. Prerequisite: CPSC 112 or HORT 100 or IB 103.

CPSC 241   Intro to Applied Statistics   credit: 3 Hours.

Introduces fundamental statistical procedures used to analyze and interpret data. General principles of descriptive and inferential statistics, measures of central tendency and dispersion, probability, correlation and regression, and tests of hypotheses are covered. An emphasis is placed on biological, environmental, and agricultural sciences, but numerous examples from other areas are discussed. Course content enhances students' ability to critically assess statistical information encountered in professional and every day activities. Credit is not given for both CPSC 241 and STAT 100 or ACE 261.
This course satisfies the General Education Criteria for:
UIUC: Quant Reasoning I

CPSC 261   Biotechnology in Agriculture   credit: 3 Hours.

Basic introduction to the techniques and application of biotechnology to a wide range of agricultural areas, and specific examples are given. May serve as either a terminal course explaining the techniques or as an introductory base for future studies. Same as HORT 261. Prerequisite: Any 100-level course in a biosciences discipline.
This course satisfies the General Education Criteria for:
UIUC: Life Sciences

CPSC 265   Genetic Engineering Lab   credit: 3 Hours.

Laboratory/discussion course that provides a hands-on introduction to the techniques and principles of genetic engineering, recombinant DNA and the impact of molecular genetics on society. Students will isolate DNA from plants and clone specific genes into bacterial plasmids, perform polymerase chain reactions, DNA restriction analysis and DNA blotting, and discuss the relevance of these techniques to both medicine and agriculture. Prerequisite: A general biology course.

CPSC 266   Data in Biology and Agriculture   credit: 4 Hours.

This course focuses on the use of computing and data analysis to solve problems in biology and agriculture and includes an overview of computer methods and limitations of current computer, network and storage hardware for big data sets. The nature, use and future potential of different types of computer hardware and software in biology and agriculture (e.g. mobile applications, high performance computing, wireless networking) will be discussed. Examples of computing-related and computing-limited problems in biology and agriculture, such as image analysis, remote sensing and genetic analysis will be used as case studies. The potential of computing to improve the food system, medicine and other applications will be presented.

CPSC 270   Applied Entomology   credit: 3 Hours.

Lectures, laboratory, and field trips cover the biology of insects and the recognition and management of insect pests of agricultural, forest, and urban ecosystems. Covers insect structure and physiology, classification, life histories, behavior, and pest management. Same as IB 220 and NRES 270.
This course satisfies the General Education Criteria for:
UIUC: Life Sciences

CPSC 293   Off-Campus Crop Sci Internship   credit: 1 to 5 Hours.

Supervised, off-campus experience in a field directly pertaining to a subject matter in crop sciences. Approved for S/U grading only. May be repeated to a maximum of 10 hours. For registration in this course, students should contact the Department Teaching Coordinator. Prerequisite: Sophomore standing, cumulative GPA of 2.0 or above at the time the internship is arranged, and consent of instructor.

CPSC 294   On-Campus Crop Sci Internship   credit: 1 to 5 Hours.

Supervised, on-campus learning experience with faculty engaged in research. Approved for S/U grading only. May be repeated to a maximum of 10 hours. For registration in this course, students should contact the Department Teaching Coordinator. Prerequisite: Sophomore standing, 2.0 GPA, consent of the advisor, and consent of the Department Teaching Coordinator.

CPSC 295   Undergrad Research or Thesis   credit: 1 to 4 Hours.

Individual research, special problems, thesis, development and/or design work under the supervision of an appropriate member of the faculty. May be repeated in the same or subsequent terms. No more than 12 hours of special problems, research, thesis and/or individual studies may be counted toward degree. Prerequisite: Junior standing, cumulative GPA of 2.5 or above at the time the activity is arranged, and consent of instructor.

CPSC 336   Tomorrow's Environment   credit: 3 Hours.

Introduction to interdisciplinary methods of analysis of environmental problems in a finite world; examination of the concept of the limits to growth; development of a working understanding of natural systems and environmental economics; and examination of various management strategies (technical, economic, and social) that can be used to improve environmental quality. Same as CHLH 336, and ENVS 336. Prerequisite: One course in the life sciences and one course in the social sciences, or consent of instructor.

CPSC 352   Plant Genetics   credit: 4 Hours.

The principles of heredity in relation to plant improvement. Same as NRES 352. Prerequisite: IB 103 or IB 104.

CPSC 382   Organic Chem of Biol Processes   credit: 4 Hours.

An overview of the structure, properties, and reactions of carbon-containing compounds relevant to biological processes and cellular structure. The chemistry of hydro carbon, aromatic, as well as oxygen- nitrogen-, phosphorus-, and sulfur-containing compounds will be examined. Macromolecular structures including biological membranes, carbohydrates, proteins and nucleic acids will also be discussed. Prerequisites: CHEM 102 and CHEM 104 or CHEM 202 and CHEM 204.

CPSC 396   Undergrad Honors Res or Thesis   credit: 1 to 4 Hours.

Individual research, special problems, thesis, development and/or design work under the direction of the Honors advisor. May be repeated in the same or subsequent terms. No more than 12 hours of special problems, research, thesis and/or individual studies may be counted toward degree. Prerequisite: Junior standing, admission to the ACES Honors Program, and consent of instructor.

CPSC 408   Integrated Pest Management   credit: 3 Hours.

Examination of fundamental concepts of pest management including a historical review of pests and pest management; an overview of major pests (insects, weeds, plant diseases and vertebrate) in a variety of settings (agronomic, specialty crops, urban and structural); management options (area-wide, chemical, biological, cultural and physical); regulatory issues; and topics of current interest. 3 undergraduate hours. 3 graduate hours. Prerequisite: CPSC 226 or CPSC 270 or equivalent, both are preferred but only 1 is required.

CPSC 412   Principles of Crop Advising   credit: 3 Hours.

Fundamentals in crop development and management, soil structure, management, and fertility, and how crops and soils interact are examined. Students learn how to diagnose real-world problems in fields and field crops grown in the Midwestern US, and to develop practical solutions to such problems. Prepares students to be competitive in careers within commercial crop agriculture and to pass the Certified Crop Adviser examination. 3 undergraduate hours. 3 graduate hours. Prerequisite: CPSC 112 and NRES 201, or equivalent, or consent of instructor.

CPSC 413   Agriculture, Food, and the Environment   credit: 2 Hours.

Advanced course in the complex interactions of food production resulting from different agricultural systems and the environment. Develop an appreciation of the intricacies of producing food for a growing world population while minimizing the impact on the natural environment. Understand the implementation of new technology and strategies for future food production. 2 undergraduate hours. 2 graduate hours. Prerequisite: CPSC 112 or CPSC 113 or equivalent course or consent of instructor. For Online MS Program.

CPSC 414   Forage Crops and Pasture Eco   credit: 3 Hours.

Forages, their plant characteristics, ecology, and production; grasslands of farm and range as related to animal production and soil conservation. 3 undergraduate hours. 3 graduate hours. Offered in alternate years. Prerequisite: An introductory class in biology.

CPSC 415   Bioenergy Crops   credit: 3 Hours.

Provides an overview and understanding of biomass feedstock production systems for sustainable biofuels production. 3 undergraduate hours. 3 graduate hours. Prerequisite: CPSC 112 or consent of instructor.

CPSC 416   Native Plants and Agroecosystems   credit: 4 Hours.

Introduction to native plants and to their conservation use and agronomic benefit. Topics include learning to identify native plants using a regional flora, knowing the different ecological niches in the state of Illinois and which plants inhabit them, and choosing appropriate native plants to enhance the interaction between agronomic crops and natives. 4 undergraduate hours. 4 graduate hours. Credit is not given for CPSC 416 if credit for NRES 415 has been earned. Prerequisite: HORT 100 or IB 103.

CPSC 418   Crop Growth and Management   credit: 3 Hours.

Crop physiology and management as influenced by environment, plant species, and cropping system; relates plant growth processes to crop production practices based on current research. 3 undergraduate hours. 3 graduate hours. Prerequisite: IB 103 or CPSC 112 or equivalent, or consent of instructor.

CPSC 419   Midwest Agricultural Practices   credit: 1 Hour.

Introduces agronomic production practices in the Midwest and economics of the crop production value chain. Specifically designed for beginning graduate students in crop genetic improvement from non-agricultural backgrounds. 1 undergraduate hour. 1 graduate hour.

CPSC 426   Weed Mgt in Agronomic Crops   credit: 3 Hours.

Principles of weed ecology and biology, and their application to weed management. Herbicides and their use in corn, soybeans and other agronomic crops. Specialized topics include weed management in reduced tillage, herbicide tolerant crops and management of problem weeds. 3 undergraduate hours. 3 graduate hours. Prerequisite: CPSC 226 or consent of instructor.

CPSC 428   Weed Science Practicum   credit: 2 Hours.

Intensive course on field diagnostic skills in weed science. Topics include weed and weed seed identification, sprayer calibration, herbicide application, herbicide injury symptomatology, and field diagnostics. Students who complete the course will be encouraged to enter the North Central Weed Science Society weeds contest, which occurs during the summer. 2 undergraduate hours. 2 graduate hours. Prerequisite: CPSC 226 or CPSC 426 or consent of instructor.

CPSC 431   Plants and Global Change   credit: 3 Hours.

The science of global atmospheric and climate change in the 21st Century. Understanding of how plants, including crops, will respond and may be adapted to these changes. Using plants to ameliorate predicted climate change. Same as IB 440 and NRES 431. 3 undergraduate hours. 3 graduate hours. Offered in alternate years. Prerequisite: CPSC 112 or IB 103.

CPSC 437   Principles of Agroecology   credit: 3 Hours.

Examines the dynamics and function of agricultural ecosystems and reviews fundamental concepts of ecology. Agricultural systems will be compared on the basis of energy flow, nutrient cycling, diversity, stability and required inputs. 3 undergraduate hours. 3 graduate hours. Offered in alternate years. Prerequisite: IB 100 or IB 103 or equivalent.

CPSC 440   Applied Statistical Methods I   credit: 4 Hours.

Statistical methods involving relationships between populations and samples; collection, organization, and analysis of data; and techniques in testing hypotheses with an introduction to regression, correlation, and analysis of variance limited to the completely randomized design and the randomized complete-block design. Same as ABE 440, ANSC 440, FSHN 440, and NRES 440. 4 undergraduate hours. 4 graduate hours. Prerequisite: MATH 112 or equivalent.

CPSC 452   Advanced Plant Genetics   credit: 3 Hours.

Survey of selected contemporary topics in plant genetics and genomics. Topics include the nature of genes and genomes, crop domestication, selection, allelic diversity in populations, and genetics mapping. Serves as an introduction to functional genomics, population genetics, transmission genetics, quantitative genetics, and bioinformatics. Same as IB 478. 3 undergraduate hours. 3 graduate hours. Prerequisite: CPSC 352 or IB 204, or consent of instructor.

CPSC 453   Principles of Plant Breeding   credit: 4 Hours.

Principles, concepts and tools used in plant breeding. Includes methods and breeding schemes used with different plant species. Same as HORT 453. 4 undergraduate hours. 4 graduate hours. Prerequisite: IB 103; CPSC 352 or equivalent.

CPSC 454   Plant Breeding Methods   credit: 2 Hours.

Discussion of the application of current scientific tools and methods available to plant breeders for improving plants; emphasis on actual use of plant breeding methods and production of high quality seed. 2 undergraduate hours. 2 graduate hours. Offered summer only in alternate years. Prerequisite: CPSC 453.

CPSC 466   Genomics for Plant Improvement   credit: 2 Hours.

An overview of applying the methods of genomics to discover variation in genes and their expression, creating new genetic variation, and applying this information to the improvement of economically important plants. Emphasis is on recent advances in genomic science and activities where functional genomics information is used to efficiently create and manipulate desirable phenotypes. Same as IB 477. 2 undergraduate hours. 2 graduate hours. Prerequisite: CPSC 352 or a similar course, or consent of instructor.

CPSC 473   Mgmt of Field Crop Insects   credit: 3 Hours.

Ecological principles of insect populations in agroecosystems including: sampling insect populations, threshold development, bioeconomics and decision-making, population regulation, designing management strategies for field crop insect pests, and deployment of transgenic crops for management of insect pests. Case studies describing various pest management programs in field-crop settings will be provided. 3 undergraduate hours. 3 graduate hours. Prerequisite: CPSC 270 or an equivalent course, or consent of instructor.

CPSC 483   Outreach Education Skills   credit: 3 Hours.

Provides graduate and undergraduate students interested in outreach and extension education programs with opportunities to develop their skills and effectiveness in development and presentation of outreach and extension programs. Same as ANSC 483. 3 undergraduate hours. 3 graduate hours. Prerequisite: Senior or graduate student status.

CPSC 498   Crop Sci Professional Develpmt   credit: 1 Hour.

Topics related to professional development including resumes, interview skills, business etiquette, ethics, and presentations on opportunities in crop sciences and horticulture. 1 undergraduate hour. No graduate credit. Prerequisite: Junior standing in Crop Sciences or Horticulture.

CPSC 499   Seminar   credit: 1 to 4 Hours.

Group discussion or an experimental course on a special topic in crop sciences. Approved for both letter and S/U grading. May be repeated to a maximum of 12 hours.

CS Class Schedule

Computer Science Courses

CS 100   Freshman Orientation   credit: 1 Hour.

Introduction to Computer Science as a field and career for computer science majors. Overview of the field and specific examples of problem areas and methods of solution.

CS 101   Intro Computing: Engrg & Sci   credit: 3 Hours.

Fundamental principles, concepts, and methods of computing, with emphasis on applications in the physical sciences and engineering. Basic problem solving and programming techniques; fundamental algorithms and data structures; use of computers in solving engineering and scientific problems. Intended for engineering and science majors. Prerequisite: MATH 220 or MATH 221.
This course satisfies the General Education Criteria for:
UIUC: Quant Reasoning II

CS 102   Little Bits to Big Ideas   credit: 4 Hours.

Same as INFO 102. See INFO 102.
This course satisfies the General Education Criteria for:
UIUC: Quant Reasoning I

CS 105   Intro Computing: Non-Tech   credit: 3 Hours.

Computing as an essential tool of academic and professional activities. Functions and interrelationships of computer system components: hardware, systems and applications software, and networks. Widely used application packages such as spreadsheets and databases. Concepts and practice of programming for the solution of simple problems in different application areas. Intended for non-science and non-engineering majors. Prerequisite: MATH 112.
This course satisfies the General Education Criteria for:
UIUC: Quant Reasoning I

CS 125   Intro to Computer Science   credit: 4 Hours.

Basic concepts in computing and fundamental techniques for solving computational problems. Intended as a first course for computer science majors and others with a deep interest in computing. Prerequisite: Three years of high school mathematics or MATH 112.
This course satisfies the General Education Criteria for:
UIUC: Quant Reasoning I

CS 126   Software Design Studio   credit: 3 Hours.

Fundamental principles and techniques of software development. Design, documentation, testing, and debugging software, with a significant emphasis on code review. Credit is not given for both CS 242 and CS 126. Prerequisite: CS 125. For majors only.

CS 173   Discrete Structures   credit: 3 Hours.

Discrete mathematical structures frequently encountered in the study of Computer Science. Sets, propositions, Boolean algebra, induction, recursion, relations, functions, and graphs. Credit is not given for both CS 173 and MATH 213. Prerequisite: One of CS 125, ECE 220; one of MATH 220, MATH 221.

CS 196   Freshman Honors   credit: 1 Hour.

Offered for honors credit in conjunction with other 100-level computer science courses taken concurrently. A special examination may be required for admission to this course. May be repeated. Prerequisite: Concurrent registration in another 100-level computer science course (see Schedule).

CS 199   Undergraduate Open Seminar in Computer Science   credit: 0 to 5 Hours.

Topics vary. Approved for Letter and S/U grading. May be repeated.

CS 210   Ethical & Professional Issues   credit: 2 Hours.

Ethics for the computing profession. Ethical decision-making; licensing; intellectual property, freedom of information, and privacy. Credit is not given for both CS 210 and ECE 316. Prerequisite: CS 225. Junior standing required.

CS 225   Data Structures   credit: 4 Hours.

Data abstractions: elementary data structures (lists, stacks, queues, and trees) and their implementation using an object-oriented programming language. Solutions to a variety of computational problems such as search on graphs and trees. Elementary analysis of algorithms. Prerequisite: CS 125 or ECE 220; CS 173 or MATH 213.
This course satisfies the General Education Criteria for:
UIUC: Quant Reasoning II

CS 233   Computer Architecture   credit: 4 Hours.

Fundamentals of computer architecture: digital logic design, working up from the logic gate level to understand the function of a simple computer; machine-level programming to understand implementation of high-level languages; performance models of modern computer architectures to enable performance optimization of software; hardware primitives for parallelism and security. Prerequisite: CS 125 and CS 173; credit or concurrent enrollment in CS 225.

CS 241   System Programming   credit: 4 Hours.

Basics of system programming, including POSIX processes, process control, inter-process communication, synchronization, signals, simple memory management, file I/O and directories, shell programming, socket network programming, RPC programming in distributed systems, basic security mechanisms, and standard tools for systems programming such as debugging tools. Credit is not given for both CS 241 and ECE 391. Prerequisite: CS 225; credit or concurrent registration in CS 233.

CS 242   Programming Studio   credit: 3 Hours.

Intensive programming lab intended to strengthen skills in programming. Prerequisite: CS 241.

CS 296   Honors Course   credit: 1 Hour.

Group projects for honors credit in computer science. Sections of this course are offered in conjunction with other 200-level computer science courses taken concurrently. A special examination may be required for admission to this course. May be repeated. Prerequisite: Concurrent registration in another 200-level computer science course (see Schedule).

CS 357   Numerical Methods I   credit: 3 Hours.

Fundamentals of numerical methods for students in science and engineering; floating-point computation, systems of linear equations, approximation of functions and integrals, the single nonlinear equation, and the numerical solution of ordinary differential equations; various applications in science and engineering; programming exercises and use of high quality mathematical library routines. Same as MATH 357. Credit is not given for CS 357 if credit for CS 450 has been earned. (Counts for advanced hours in LAS). Prerequisite: A 100-level computer science course; MATH 225 or MATH 415; MATH 241.

CS 361   Probability & Statistics for Computer Science   credit: 3 Hours.

Introduction to probability theory and statistics with applications to computer science. Topics include: visualizing datasets, summarizing data, basic descriptive statistics, conditional probability, independence, Bayes theorem, random variables, joint and conditional distributions, expectation, variance and covariance, central limit theorem. Markov inequality, Chebyshev inequality, law of large numbers, Markov chains, simulation, the PageRank algorithm, populations and sampling, sample mean, standard error, maximum likelihood estimation, Bayes estimation, hypothesis testing, confidence intervals, linear regression, principal component analysis, classification, and decision trees. Same as STAT 361. Credit is not given for both CS 361 and ECE 313. Prerequisite: MATH 220 or 221; credit or concurrent registration in MATH 225. For majors only.

CS 374   Introduction to Algorithms & Models of Computation   credit: 4 Hours.

Analysis of algorithms, major paradigms of algorithm design including recursive algorithms, divide-and-conquer algorithms, dynamic programming, greedy algorithms, and graph algorithms. Formal models of computation including finite automata and Turing machines. Limitations of computation arising from fundamental notions of algorithm and from complexity-theoretic constraints. Reductions, undecidability and NP-completeness. Same as ECE 374. Prerequisite: CS 225; MATH 225 or MATH 415.

CS 397   Individual Study   credit: 1 to 3 Hours.

May be repeated. Prerequisite: Consent of instructor.

CS 398   Special Topics   credit: 1 to 4 Hours.

Subject offerings of new and developing areas of knowledge in computer science intended to augment the existing curriculum. See Class Schedule or departmental course information for topics and prerequisites. May be repeated in the same or separate terms if topics vary.

CS 410   Text Information Systems   credit: 3 or 4 Hours.

Theory, design, and implementation of text-based information systems. Text analysis, retrieval models (e.g., Boolean, vector space, probabilistic), text categorization, text filtering, clustering, retrieval system design and implementation, and applications to web information management. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 225.

CS 411   Database Systems   credit: 3 or 4 Hours.

Examination of the logical organization of databases: the entity-relationship model; the hierarchical, network, and relational data models and their languages. Functional dependencies and normal forms. Design, implementation, and optimization of query languages; security and integrity; concurrency control, and distributed database systems. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 225.

CS 412   Introduction to Data Mining   credit: 3 or 4 Hours.

Concepts, techniques, and systems of data warehousing and data mining. Design and implementation of data warehouse and on-line analytical processing (OLAP) systems; data mining concepts, methods, systems, implementations, and applications. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 225.

CS 414   Multimedia Systems   credit: 3 or 4 Hours.

Organization and structure of modern multimedia systems; audio and video encoding; quality of service concepts; scheduling algorithms for multimedia within OS and networks multimedia protocols over high-speed networks; synchronization schemes, user-interface design; multimedia teleservices. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 241 or ECE 391.

CS 418   Interactive Computer Graphics   credit: 3 Hours.

Basic mathematical tools and computational techniques for modeling, rendering, and animating 3-D scenes. Same as CSE 427. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 225; MATH 225 or MATH 415; MATH 241.

CS 419   Production Computer Graphics   credit: 3 or 4 Hours.

Advanced methods for representing, displaying, and rendering two-, three-, and four-dimensional scenes. General algebraic curves and surfaces, splines, Gaussian and bump-function representation, fractals, particle systems, constructive solid geometry methods, lighting models, radiosity, advanced ray-tracing methods, surface texturing animation techniques, data visualization methods. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 418.

CS 420   Parallel Progrmg: Sci & Engrg   credit: 3 or 4 Hours.

Fundamental issues in design and development of parallel programs for various types of parallel computers. Various programming models according to both machine type and application area. Cost models, debugging, and performance evaluation of parallel programs with actual application examples. Same as CSE 402 and ECE 492. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 225.

CS 421   Progrmg Languages & Compilers   credit: 3 or 4 Hours.

Structure of programming languages and their implementation. Basic language design principles; abstract data types; functional languages; type systems; object-oriented languages. Basics of lexing, parsing, syntax-directed translation, semantic analysis, and code generation. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 233 and CS 373.

CS 422   Programming Language Design   credit: 3 or 4 Hours.

Exploration of major language design paradigms using imperative and functional programming as unifying themes. Tools include both practical language processor construction and theoretical models. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 421.

CS 423   Operating Systems Design   credit: 3 or 4 Hours.

Organization and structure of modern operating systems and concurrent programming concepts. Deadlock, virtual memory, processor scheduling, and disk systems. Performance, security, and protection. Same as CSE 423. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 241 or ECE 391.

CS 424   Real-Time Systems   credit: 3 or 4 Hours.

Supervisory control aspects of Cyber Physical Systems (CPS): fundamentals of reliability analysis, real-time scheduling, simple feedback control, software fault tolerance architecture, wireless networking and energy saving, principles of safety critical system engineering. Student groups design and demonstrate supervisory control architecture for a robot. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 241.

CS 425   Distributed Systems   credit: 3 or 4 Hours.

Protocols, specification techniques, global states and their determination, reliable broadcast, transactions and commitment, security, and real-time systems. Same as ECE 428. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 241 or ECE 391.

CS 426   Compiler Construction   credit: 3 or 4 Hours.

Compiler structure, syntax analysis, syntax-directed translation, automatically constructed recognizers, semantic analysis, code generation, intermediate language, optimization techniques. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 421.

CS 427   Software Engineering I   credit: 3 or 4 Hours.

Software process, analysis and design. Software development paradigms, system engineering, function-based analysis and design, and object-oriented analysis and design. Course will use team-projects for hands-on exercises. Same as CSE 426. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 225 and CS 373.

CS 428   Software Engineering II   credit: 3 or 4 Hours.

Continuation of CS 427. Software development, management, and maintenance. Project and configuration management, collaborative development models, software quality assurance, interoperability domain engineering and software reuse, and software re-engineering. Same as CSE 429. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 427.

CS 429   Software Engineering II, ACP   credit: 3 Hours.

Continuation of CS 427. Identical to CS 428 except for the additional writing component. See CS 428. 3 undergraduate hours. 3 graduate hours. Prerequisite: CS 427.
This course satisfies the General Education Criteria for:
UIUC: Advanced Composition

CS 431   Embedded Systems   credit: 3 Hours.

A survey of sampled data systems and embedded architecture; key concepts in common embedded system applications; signal processing and control; embedded microprocessor and device interface; time-critical I/O handling; data communications; real-time operating systems and techniques for the development and analysis of embedded real-time software; hands-on laboratory projects. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 241 or ECE 391.

CS 433   Computer System Organization   credit: 3 or 4 Hours.

Computer system analysis and design. Organizational dependence on computations to be performed; speed and cost of parts and overall machines; instruction set design; pipeline and vector machines; memory hierarchy design. Same as CSE 422. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 233.

CS 438   Communication Networks   credit: 3 or 4 Hours.

Layered architectures and the OSI Reference Model; design issues and protocols in the transport, network, and data link layers; architectures and control algorithms of local-area, point-to-point, and satellite networks; standards in networks access protocols; models of network interconnection; overview of networking and communication software. Same as ECE 438. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 241 or ECE 391; one of ECE 313, MATH 461, MATH 463.

CS 440   Artificial Intelligence   credit: 3 or 4 Hours.

Major topics in and directions of research in artificial intelligence: AI languages (LISP and PROLOG), basic problem solving techniques, knowledge representation and computer inference, machine learning, natural language understanding, computer vision, robotics, and societal impacts. Same as ECE 448. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 225 or ECE 391.

CS 445   Computational Photography   credit: 3 or 4 Hours.

Computer vision techniques to enhance, manipulate, and create media from photo collections, such as panoramic stitching, face morphing, texture synthesis, blending, and 3D reconstruction. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 225, MATH 225, and MATH 231.

CS 446   Machine Learning   credit: 3 or 4 Hours.

Theory and basic techniques in machine learning. Major theoretical paradigms and key concepts developed in machine learning in the context of applications such as natural language and text processing, computer vision, data mining, adaptive computer systems and others. Review of several supervised and unsupervised learning approaches: methods for learning linear representations; on-line learning, Bayesian methods; decision-trees; features and kernels; clustering and dimensionality reduction. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 373 and CS 440.

CS 447   Natural Language Processing   credit: 3 or 4 Hours.

Part-of-speech tagging, parsing, semantic analysis and machine translation. Relevant linguistics concepts from morphology (word formation) and lexical semantics (the meaning of words) to syntax (sentence structure) and compositional semantics (the meaning of sentences). 3 undergraduate hours. 3 or 4 graduate hours. Credit is not given for both CS 447 and LING 406. Prerequisite: CS 374.

CS 450   Numerical Analysis   credit: 3 Hours.

Linear system solvers, optimization techniques, interpolation and approximation of functions, solving systems of nonlinear equations, eigenvalue problems, least squares, and quadrature; numerical handling of ordinary and partial differential equations. Same as CSE 401, ECE 491, and MATH 450. 3 undergraduate hours. 3 or 4 graduate hours. Credit is not given for both CS 450 and CS 457. Prerequisite: CS 101 or CS 125; CS 357 or MATH 415; MATH 285.

CS 457   Numerical Methods II   credit: 3 Hours.

Continuation of CS 357. Orthogonalization methods for least squares, Krylov subspace methods, non-linear equations and optimization in multiple dimensions, initial and boundary value problems for ordinary and partial differential equations. 3 undergraduate hours. No graduate credit. Credit is not given for both CS 457 and CS 450. Prerequisite: CS 357.

CS 460   Security Laboratory   credit: 3 Hours.

Operating systems security: access control, least privilege mechanism and malware techniques. Network security: firewalls, sniffing, tunnels, intrusion detection, AAA and worm structure. System security: forensics security architectures, and attack/defend exercises. Complements CS 461 via hands-on project. Same as ECE 419. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 461.

CS 461   Computer Security I   credit: 4 Hours.

Fundamental principles of computer and communications security and information assurance: ethics, privacy, notions of threat, vulnerabilities, and risk in systems, information warfare, malicious software, data secrecy and integrity issues, network security, trusted computing, mandatory and discretionary access controls, certification and accreditation of systems against security standards. Security mechanisms: authentication, auditing, intrusion detection, access control, cryptography, security protocols, key distribution. Same as ECE 422. 4 undergraduate hours. 4 graduate hours. Prerequisite: CS 241 or ECE 391.

CS 463   Computer Security II   credit: 3 or 4 Hours.

Program security, trusted base, privacy, anonymity, non-interference, information flow, confinement, advanced auditing, forensics, intrusion detection, key management and distribution, policy composition and analysis, formal approaches to specification and verification of secure systems and protocols, and topics in applied cryptography. Same as ECE 424. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 461. Recommended: CS 475.

CS 465   User Interface Design   credit: 3 Hours.

A project-focused course covering fundamental principles of user interface design, implementation, and evaluation. Small teams work on a term-long project that involves: analysis of the problem domain, user skills, and tasks; iterative prototyping of interfaces to address user needs; conducting several forms of evaluation such as cognitive walkthroughs and usability tests; implementation of the final prototype. Non-technical majors may enroll as non-programmers who participate in all aspects of the projects with the possible exception of implementation. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 225.

CS 466   Introduction to Bioinformatics   credit: 3 or 4 Hours.

Algorithmic approaches in bioinformatics: (i) biological problems that can be solved computationally (e.g., discovering genes, and interactions among different genes and proteins); (ii) algorithmic techniques with wide applicability in solving these problems (e.g., dynamic programming and probabilistic methods); (iii) practical issues in translating the basic algorithmic ideas into accurate and efficient tools that biologists may use. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 225.

CS 467   Social Visualization   credit: 3 or 4 Hours.

Visualizing social interaction in networked spaces: investigation of patterns in networked communications systems such as messaging (email, instant messaging), social networking sites and collaborative sites; social network theory and visualizations; exploration of how to move beyond existing visualization techniques; visualizing the network identity over compilations of online data. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 225.

CS 473   Fundamental Algorithms   credit: 3 Hours.

Fundamental techniques for algorithm design and analysis, including recursion, dynamic programming, randomization, dynamic data structures, fundamental graph algorithms, and NP-completeness. Intended for undergraduates in Computer Science and graduate students in other departments. Same as CSE 414 and MATH 473. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 373.

CS 475   Formal Models of Computation   credit: 3 or 4 Hours.

Finite automata and regular languages; pushdown automata and context-free languages; Turing machines and recursively enumerable sets; linear-bounded automata and context-sensitive languages; computability and the halting problem; undecidable problems; recursive functions; Chomsky hierarchy; computational complexity. Same as MATH 475. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 373.

CS 476   Program Verification   credit: 3 or 4 Hours.

Formal methods for demonstrating correctness and other properties of programs. Invariant assertions; Hoare axiomatics; well-founded orderings for proving termination; structural induction; computational induction; data structures; parallel programs; overview of predicate calculus. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 225; CS 374 or MATH 414.

CS 477   Formal Software Devel Methods   credit: 3 or 4 Hours.

Mathematical models, languages, and methods for software specification, development, and verification. Same as ECE 478. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 225; CS 373 or MATH 414.

CS 484   Parallel Programming   credit: 3 or 4 Hours.

Techniques for the programming of all classes of parallel computers and devices including shared memory and distributed memory multiprocessors, SIMD processors and co-processors, and special purpose devices. Key concepts in parallel programming such as reactive and transformational programming, speculation, speedup, isoefficiency, and load balancing. Synchronization primitives, libraries and languages for parallel programming such as OpenMP and MPI, performance monitoring, program tuning, analysis and programming of numerical and symbolic parallel algorithms. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 241.

CS 491   Seminar   credit: 0 to 4 Hours.

Seminar on topics of current interest as announced in the Class Schedule. 0 to 4 undergraduate hours. 0 to 4 graduate hours. Approved for S/U grading only. May be repeated in the same or separate terms if topics vary to a maximum of 4 hours. Prerequisite: As specified for each topic offering, see Class Schedule or departmental course description.

CS 492   Senior Project I   credit: 3 Hours.

First part of a project course in computer science. Students work in teams to solve typical commercial or industrial problems. Work involves planning, design, and implementation. Extensive oral and written work is required both on-campus and possibly off-campus at sponsors' locations. CS 492 must be taken as a sequence with either CS 493 or CS 494. 3 undergraduate hours. No graduate credit. Credit is not given for both CS 492 and a project course in another engineering department for the same project. Prerequisite: For Computer Science majors with senior standing.

CS 493   Senior Project II, ACP   credit: 3 Hours.

Continuation of CS 492. Identical to CS 494 except for an additional writing component. See CS 494. 3 undergraduate hours. No graduate credit. Credit is not given for both CS 493 and a project course in another engineering department for the same project. Prerequisite: CS 492.
This course satisfies the General Education Criteria for:
UIUC: Advanced Composition

CS 494   Senior Project II   credit: 3 Hours.

Continuation of CS 492. 3 undergraduate hours. No graduate credit. Credit is not given for both CS 494 and a project course in another engineering department for the same project. Prerequisite: CS 492.

CS 497   CS Team Project   credit: 1 to 3 Hours.

Student teams work with CS faculty to complete a significant project requiring advanced knowledge of CS principles. Project topics vary. 1 to 3 undergraduate hours. No graduate credit. May be repeated in the same term up to 6 hours, if topics vary; may be repeated in separate terms. Prerequisite: For majors only; junior or senior standing required.

CS 498   Special Topics   credit: 1 to 4 Hours.

Subject offerings of new and developing areas of knowledge in computer science intended to augment the existing curriculum. See Class Schedule or departmental course information for topics and prerequisites. 1 to 4 undergraduate hours. 1 to 4 graduate hours. May be repeated in the same or separate terms if topics vary.

CS 499   Senior Thesis   credit: 3 Hours.

Research and thesis development experience in computer science underguidance of a faculty member. Literature search, oral presentation, analysis and implementation, paper preparation, and completion of a written thesis. 3 undergraduate hours. No graduate credit. May be repeated to a maximum of 6 hours. Prerequisite: Consent of instructor.
This course satisfies the General Education Criteria for:
UIUC: Advanced Composition