Iowa State University – 2016-2017 1
Total Page:16
File Type:pdf, Size:1020Kb
Iowa State University – 2016-2017 1 CPR E 281 Digital Logic 4 COMPUTER SCIENCE COM S 309 Software Development Practices 3 COM S 311 Design and Analysis of Algorithms 3 http://www.cs.iastate.edu COM S 321 Introduction to Computer Architecture and 3 The undergraduate curriculum in computer science leading to the degree Machine-Level Programming Bachelor of Science is accredited by the Computing Accreditation COM S 327 Advanced Programming Techniques 3 Commission of ABET, http://www.abet.org , and equips students with COM S 331 Theory of Computing 3 a sound knowledge of the foundations of computer science, as well COM S 342 Principles of Programming Languages 3 as the problem solving and system design skills necessary to create robust, efficient, reliable, scalable, and flexible software systems. The COM S 352 Introduction to Operating Systems 3 B.S. degree in Computer Science prepares students for graduate study COM S 362 Object-Oriented Analysis and Design 3 in computer science, and for various business, industry, and government positions including computer scientists, information technologists, In addition to the above courses, at least 6 credits of 400-level courses and software developers. The main educational objectives of the are required, with a grade of C- or better. At least 3 credits must be from computer science program at Iowa State University are that its graduates courses in Group 1 (oral and written reports) and the remaining credits demonstrate expertise, engagement, and learning within three to five from courses in Group 1 or 2. Com S 402 may be applied towards the years after graduation. Group 1 requirement, provided 3 or more credits of 402 are taken. Com S 414 may not be applied towards fulfilling the 400-level electives. •Expertise: Graduated students should have the ability to establish peer- recognized expertise in the discipline. They should have the ability to Group 1 courses: Com S 402, 409, 417, 425, 430, 437, 461, 487, S E/CprE articulate this expertise by formulating and solving problems of interest, 416 by creating or deriving value through the application of technology, and Group 2 courses: Com S 412, 418, 426, 435, 440, 444, 454, 455, 472, 474, by using mathematical foundations, algorithmic principles, and computer 477, 486, Math 481, CprE 431, 458, 489 science theory in designing, implementing, and evaluating computer- based systems and processes which meet the desired needs of their Group 1 (courses in this group require oral and written reports): employers. COM S 402 Computer Science Senior Project 2-3 •Engagement: Graduated students should have the ability to be COM S 409 Software Requirements Engineering 3 engaged in the profession through the practice of computer science in industry, academia, or the public sector. They should demonstrate COM S 417 Software Testing 3 effective teaming and commitment to working with others by applying COM S 425 High Performance Computing for Scientific and 3 communications skills and professional knowledge. Engineering Applications COM S 430 Advanced Programming Tools 3 •Learning: Graduated students should have the ability to engage in COM S 437 Computer Game and Media Programming 3 sustained learning through graduate work, professional improvement opportunities, and self study so that they can adapt to the role played by COM S 461 Principles and Internals of Database Systems 3 information processing in ever-changing areas of science, technology, COM S 487 Network Programming, Applications, and Research 3 and society. Issues S E 416 Software Evolution and Maintenance 3 Curriculum in Computer Science Group 2: Students wishing to pursue the B.S. degree in computer science must first successfully complete the pre-major program consisting of Com S COM S 412 Formal Methods in Software Engineering 3 227, Com S 228, and Math 165; all with a grade of C- or above. COM S 418 Introduction to Computational Geometry 3 A student seeking a B.S. degree in computer science must satisfy the COM S 426 Introduction to Parallel Algorithms and 4 requirements of the University and College of Liberal Arts and Sciences Programming (see Liberal Arts and Sciences, Curriculum) and the departmental COM S 435 Algorithms for Large Data Sets: Theory and 3 requirements. Practice COM S 440 Principles and Practice of Compiling 3 The departmental requirements consist of a minimum of 44 credits in computer science and satisfaction of written and oral COM S 444 Bioinformatic Analysis 4 requirements. Students must earn at least a C- in Math 165, Math 166, COM S 454 Distributed Systems 3 Cpr E 281, and each Computer Science course taken to fulfill the Degree COM S 455 Simulation: Algorithms and Implementation 3 Program. COM S 472 Principles of Artificial Intelligence 3 The following courses are required: COM S 474 Introduction to Machine Learning 3 COM S 477 Problem Solving Techniques for Applied Computer 3 COM S 101 Orientation R Science COM S 203 Careers in Computer Science R COM S 486 Fundamental Concepts in Computer Networking 3 COM S 227 Introduction to Object-oriented Programming 4 MATH 481 Numerical Methods for Differential Equations 3 COM S 228 Introduction to Data Structures 3 CPR E 431 Basics of Information System Security 3 COM S 230 Discrete Computational Structures 3 CPR E 458 Real Time Systems 3 2 Computer Science CPR E 489 Computer Networking and Data Communications 4 GEOL 101 Environmental Geology: Earth in Crisis 3 GEOL 102 History of the Earth 3 Toward satisfying requirements of the College of Liberal Arts and GEOL 105 Gems and Gemstones 1 Sciences, the following courses should be included: GEOL 108 Introduction to Oceanography 3 PHIL 343 Philosophy of Technology 3 GEOL 111 Geological Disasters 1 SP CM 212 Fundamentals of Public Speaking 3 GEOL 201 Geology for Engineers and Environmental 3 14 credits of Math and Statistics 14 Scientists MATH 165 Calculus I 4 GEOL 451 Applied and Environmental Geophysics 3 MATH 166 Calculus II 4 MAT E 215 Introduction to Materials Science and Engineering 4 One Statistics course from: & 215L I and Introduction to Materials Science and STAT 305 Engineering Statistics 3 Engineering I - Lab STAT 330 Probability and Statistics for Computer Science 3 MTEOR 206 Introduction to Weather and Climate 3 STAT 341 Introduction to the Theory of Probability and 3 MTEOR 301 General Meteorology 4 Statistics I PSYCH 310 Brain and Behavior 3 At least one Math course from: PHYS 221 or HIGHER MATH 207 Matrices and Linear Algebra 3 MATH 265 Calculus III 4 Footnotes MATH 266 Elementary Differential Equations 3 * MATH 267 Elementary Differential Equations and Laplace 4 CHEM 163 - 231 Transforms ** GEOL 100 - 111 MATH 304 Combinatorics 3 The following courses meet the communication proficiency requirement: MATH 314 Graph Theory 3 MATH 317 Theory of Linear Algebra 4 ENGL 150 Critical Thinking and Communication 3 13 credits of Natural Science: 13 ENGL 250 Written, Oral, Visual, and Electronic Composition 3 This should include at least one of the following 2-course sequences One of the following and their labs: ENGL 302 Business Communication 3 BIOL 211 Principles of Biology I 4 ENGL 305 Creative Writing: Nonfiction 3 & 211L and Principles of Biology Laboratory I ENGL 309 Proposal and Report Writing 3 BIOL 212 Principles of Biology II 4 ENGL 314 Technical Communication 3 & 212L and Principles of Biology Laboratory II CHEM 177 General Chemistry I 5 The minimum grade accepted in each of the three required English & 177L and Laboratory in General Chemistry I courses is a C. CHEM 178 General Chemistry II 4 Students must take at least 15 credits of Computer Science courses at & 178L and Laboratory in College Chemistry II the 300 level or higher at Iowa State University while resident here. PHYS 221 Introduction to Classical Physics I 5 PHYS 222 Introduction to Classical Physics II 5 Students must earn a C- or better in each Computer Science course which is a prerequisite to a course listed in the student's degree program. In addition, courses from the following list can be taken to bring the natural science credits to a minimum of 13: Undergraduate Minor in Computer Science ANTHR 202 Introduction to Biological Anthropology and 3 Archaeology The Department of Computer Science offers an undergraduate minor in ANTHR 307 Biological Anthropology 3 Computer Science. The minor requires at least 16 credits in computer science courses. BBMB 221 Structure and Reactions in Biochemical Processes 3 BIOL 204 Biodiversity 2 COM S 227 Introduction to Object-oriented Programming 4 BIOL 312 Ecology 4 COM S 228 Introduction to Data Structures 3 BIOL 355 Plants and People 3 COM S 230 Discrete Computational Structures 3 * CHEM 163 College Chemistry 4 COM S 311 Design and Analysis of Algorithms 3 ENT 370 Insect Biology 3 3 credits in ComS courses at the 300 level or above 3 ENV S 324 Energy and the Environment 3 Undergraduate Curriculum in Software Engineering FS HN 167 Introduction to Human Nutrition 3 GEN 313 Principles of Genetics 3 The Department of Computer Science together with the Department GEN 313L Genetics Laboratory 1 of Electrical and Computer Engineering also offer a curriculum leading GEN 320 Genetics, Agriculture and Biotechnology 3 to an undergraduate degree in software engineering. The software ** engineering curriculum offers emphasis areas in software engineering GEOL 100 The Earth 3 GEOL 100L The Earth: Laboratory 1 Iowa State University – 2016-2017 3 principles, process, and practice. Students may also take elective courses methods, information assurance, machine learning and neural networks, in computer engineering and computer science. multimedia, operating systems, parallel and distributed computing, programming languages, robotics, and software engineering. There are See Index, Software Engineering. For curriculum information, see also also numerous opportunities for interdisciplinary research. College of Engineering and College of Liberal Arts and Sciences.