1 Curriculum Appeal Committee Headquarters Tau Beta Pi June 1, 2015 Subject: Curriculum Appeal Dear Tau Beta Pi Curriculum Appeal Committee: Our petition to allow students in the Computer Science program to be eligible for membership in Tau Beta Pi is attached. Our Department of Computer Science and Engineering offers BS degrees in two programs: Computer Engineering (CEN) and Computer Science (CS). The Master’s and PhD program is offered for the Computer Science and Engineering (CSE) program. Currently, students in the Computer Engineering undergraduate program are eligible for membership in Tau Beta Pi. The following information is attached: ❏ A description of the Computer Science program, comparing it with the Computer Engineering program. (Page 3) ❏ A table summarizing the course requirements for the BS in CSE and BS in CEN. (Page 4) ❏ A overview of our voting results. (Page 6) ❏ A letter of support from Dr. Aidong Zhang, the Department Chair of Computer Science and Engineering. (Page 7) ❏ A letter of support from Dr. Liesl Folks, the Dean of Engineering. (Page 8) ❏ A copy of the institution’s current course catalog, to include the corresponding tabs. (Page 9) The current undergraduate catalogue for the University at Buffalo can be found at http://undergrad-catalog.buffalo.edu. The current graduate catalogue for the University at Buffalo can be found at http://www.cse.buffalo.edu/graduate/handbooks/index.php. Thank you for your consideration, and please contact me if you have any questions or need further information. Sincerely, Kris Schindler, PhD Teaching Assistant Professor 2 Description Of Computer Science & A Brief Comparison To Computer Engineering The Department of Computer Science & Engineering’s Computer Engineering (CEN) Program is currently accredited by ABET and its students are eligible for induction into the Tau Beta Pi - NY Nu Chapter. It is our belief that the distinct and numerous similarities in the Computer Science and Computer Engineering programs provides excellent support for the inclusion of Computer Science students in our chapter. The Computer Science (CS) Program, also maintained by the Department of Computer Science & Engineering, is identical in coursework to the accredited CEN program for the first two years. During the junior and senior years of the program, CEN is increasingly hardware-focused while CS is software and design-focused. This shift in focus, however, is not indicative of a disparity in technical rigor. The CS curriculum also requires depth in Mathematics, Science, and Statistics; a defining characteristic of Engineering programs at the University. The graduates of both programs fulfill indistinguishable roles in both industry and in their attending of graduate school. Both programs equip students with a foundational understanding of core computer science principles and the skills to learn and adapt in a rapidly-growing technical environment. To prepare students for these roles both programs (CEN and CS) require their students to complete the same senior design capstone course titled Software Programming. This course emphasizes teamwork, communication, and adaptation to current design trends in the implementation of a large-scale semester long project. Students pursuing Computer Science develop a foundational understanding of core computer science principles and the skills to learn and adapt in a rapidly-growing technical environment. Graduates from both CS and CEN programs primarily enter either the field of computing and applications programming or systems analysis and design. Graduates of CS often pursue careers in scientific fields, such as R&D, or technical fields, such as Information System design. These career options are similar to fields pursued by students graduating with a degree in CEN: hardware system design and embedded system development. Examples of companies that employ both our CS and CEN graduates are Apple Computer, Brookhaven National Laboratory, IBM Almaden Research Center, Microsoft, NASA-Ames, and Samsung. Between 10-20% of degree recipients continue to graduate school and 95-100% of degree recipients find employment related to the computer science field. This information is available at: http://undergrad-catalog.buffalo.edu/academicprograms/coms_career.shtml and http://www.cse.buffalo.edu/shared/careers.php?undergrad. Attached is a more detailed comparison of the CEN and CS programs as well as documentation of faculty and administrative support for the inclusion of Computer Science in the NY Nu Chapter of Tau Beta Pi. Sincerely, The TBP - NY Nu Curriculum Appeal Committee 3 University at Buffalo, SUNY Comparison of the degrees, BS in Computer Engineering & BS in Computer Science Catalog 2014-2015 BS in CSE BS in CEN Computer Science CSE 115: Intro to Computer Science for Majors I CSE 116: Intro to Computer Science for Majors II CSE 191: Intro to Discrete Structures CSE 241: Digital Systems CSE 250: Data Structures CSE 305: Intro to Programming Languages CSE 321: Real-Time & Embedded Operating Systems CSE 331: Intro to Algorithm Analysis & Design CSE 341: Computer Organization CSE 379: Intro to Microprocessors & Microcomputers CSE 380: Intro to Microprocessors Lab CSE 396: Intro to the Theory of Computation CSE 421: Intro to Operating Systems CSE 442: Software Engineering CSE 453: Hardware/Software Integrated Systems Design Additional CSE 400-level courses One CSE technical elective X X X X X X _ X X _ _ X X X _ (3 Courses) _ X X X X X _ X _ X X X _ _ X X (2 Course) X X X _ _ _ (1 Course) X X X X X _ _ _ _ _ X X X X X (or equivalent) _ _ _ _ X X X X X X _ Mathematics MTH 141: College Calculus I MTH 142: College Calculus II MTH 241: College Calculus III MTH 306: Intro to Differential Equations MTH 309: Linear Algebra OR MTH 437: Numerical Analysis I Additional math course Electrical Engineering EE 202: Circuit Analysis I EE 205: Signal Analysis & Transform Methods EE 310: Electronic Devices & Circuits I EE 312: Basic Electronic Instrumentation Laboratory Engineering & Applied Sciences EAS 305: Applied Probability PHY 107: General Physics I PHY 108/158: General Physics II/Lab CHE 107: General Chemistry for Engineers MAE 204: Thermodynamics OR EAS 207: Statics Additional two-course science sequence 4 Additional Course Materials I. Links to University at Buffalo’s current course catalog for the curriculum appeal: 1. The Undergraduate Course Catalog for BS in Computer Science: (Starting at Page 9) http://undergrad-catalog.buffalo.edu/academicprograms/coms_degrees.shtml 2. The Undergraduate BS in Computer Science Course Flowsheet (See Figure 1 below): http://www.eng.buffalo.edu/undergrad/advisement/flowsheets/?flow=CSEBS11&title=Computer +Science+BS+-+Students+entering+CS+Fall+2011+or+Later II. Links to University at Buffalo’s current course catalog for the curriculum appeal: Figure 1. The Undergraduate BS in Computer Science Course Flowsheet 5 Curriculum Appeal Approval Results I. Chapter Vote Results After polling our 87 active members for the Computer Science Curriculum Appeal, we have found 42 in support of this appeal, 11 against, and 1 who formally abstained. We reached out to our members regarding the vote 5 times over the course of 5 weeks. This resulted in 77% of voters in support of the incorporation of the Computer Science students in our eligibility process. II. Advisory Board Voting Results Our Advisory Board voted in support for the inclusion of this appeal. 6 7 8 The Institution’s Current Course Catalog for Computer Science A. UNDERGRADUATE Below is the Computer Science Undergraduate Curriculum at the University at Buffalo. The following sections are attached. 1. Overview 2. About The Program 3. Degrees & Policies This information - and also the more detailed description of the courses, faculty, and careers can also be found at: http://undergrad-catalog.buffalo.edu/academicprograms/coms.shtml 1. Overview Home > Academic Programs > Computer Science > Overview Computer Science : Overview Department of Computer Science and Engineering Contact Information School of Engineering and Applied Sciences 338 Davis Hall North Campus Buffalo, NY 14260-2500 Phone: 716.645.3180 Fax: 716.645.3464 Email: cse-uginfo@cse.buffalo.edu Web Address: www.cse.buffalo.edu Aidong Zhang Chair Atri Rudra Director of Undergraduate Studies Donna Grant Undergraduate Advisor Overview Computer Science (CS) is a systematic study of the concepts, foundations and applications of software, hardware, and intelligent systems. Typical subjects include: programming languages, data structure, algorithms, computer organization, 9 operating systems and machine learning. Computer scientists are engaged in understanding the algorithmic complexity of problems and the limits of computability, automating human intelligence, providing ubiquitous access to information, or designing secure and effective software, computer, and communication systems. Computer scientists work in every sector of industry, government, and society in general. The department aims to provide students with strong conceptual foundations (theoretical and experimental), and also expose them to the forefront of the developments in the field of computing. Recognizing the applicability of computing to all fields of knowledge and practice, the department provides a variety of degrees and programs at each of the degree levels, and cooperates with other units of the university to provide interdisciplinary degree programs. In their careers, graduates of the program will attain the skills to: -work productively as Computer Scientists, including supportive and leadership roles on multidisciplinary teams, -communicate effectively, recognize and incorporate societal needs and constraints in their professional endeavors, and practice their profession with high regard to legal and ethical responsibilities, -engage in life-long learning, such as graduate study, to remain current in their profession and be leaders in our global technological society. ● Overview ● About The Program ● Degrees & Policies ● Courses ● Faculty ● Careers Updated: 07 Apr 2015 10:29:37 EDT 10 2. About The Program Home > Academic Programs > Computer Science > About The Program Computer Science : About The Program About Our Degrees The Computer Science and Engineering Department offers instruction in all areas of computer science and computer engineering. The Computer Engineering curriculum emphasizes hardware, software, and system integration issues of computing. Topics include such diverse areas as analog and digital electronics, logic design, computer architecture, VLSI, computer networking, signal/image processing, data structures, programming languages, software engineering, computer organization, embedded systems, and operating systems. The Computer Engineering B.S. degree is accredited by the Engineering Accreditation Commission of ABET. Computer Science curriculum emphasizes systems (both software and hardware), computing fundamentals and applications. Topics include such diverse areas as software systems, database, algorithm and data structures, programming languages, software engineering, theory of computation, computer organization, artificial intelligence, operating systems, computer networking, vision and image processing, data mining and machine learning. Both the BA and the BS in Computer Science prepare students well for professional positions in computing and information technology fields and for graduate work. The primary difference is that the BS program provides a more concentrated approach to computer science, while the BA program encourages students to combine computer science with studies in another discipline. In addition, the CSE department offers a combined program permitting highly qualified students to graduate with a five-year program leading to a combined BS/MS degree in computer science. In conjunction with the School of Management, the department also offers a five-year program leading to a combined degree in computer science and business administration (BS/MBA). A BS degree in computational physics is offered jointly with the Physics department. The university offers a BS degree in bioinformatics and computational biology, with options for a concentration in biology, computer science and engineering, or mathematics. Please refer to the bioinformatics and computational biology program for further details. Acceptance Criteria - BS and BA See the School of Engineering and Applied Sciences Acceptance Criteria in the Undergraduate Catalog. 11 Information See the School of Engineering and Applied Sciences for acceptance information in the Undergraduate Catalog. Transfer students must first apply to the university and meet the university transfer admission requirements. For admission of transfer students to engineering, see School of Engineering and Applied Sciences Transfer Policy in the Undergraduate Catalog. Advising Information Entering freshmen/transfers are offered a wide range of special advisement opportunities and academic help sessions by the Office of Undergraduate Education, School of Engineering and Applied Sciences (410 Bonner Hall). Students in the program obtain academic guidance jointly from a senior academic advisor in Engineering and from the Computer Science and Engineering Undergraduate Advisor (338R Davis Hall). The department of computer science and engineering assigns the students majoring in the CSE programs, faculty mentors, whom they meet at least once a year and discuss technical aspects of the program, future research opportunities, and academic, and career goals. Students are expected to see an advisor at least once a semester. A semester before graduation, students are required to meet with an advisor to ensure that their remaining coursework satisfies the general education, design, and other program requirements needed to graduate. To graduate with a degree from the School of Engineering and Applied Sciences, students must have a minimum GPA of 2.0 in technical classes required for the major (includes engineering, math, technical electives, and science classes). Please refer to the degree program sections of the catalog for additional requirements. Computer science majors are exempt from the SEAS residency requirement. Required courses cannot be taken Pass-Fail or Satisfactory-Unsatisfactory. Students must obtain a minimum overall and UB GPA of 2.0 to be considered in academic good standing with the University. 12 Prerequisites are satisfied with grade of C- or better. If student does not obtain the required grade, the student must retake the prerequisite course before proceeding to the next course. All CSE 300/400-level courses are for majors only. Departmental senior standing is achieved when students complete a minimum of: 2 of CSE 300-level courses for BA Program in CS and 3 of CSE 300-level course for BS program in CS or CEN At least six of our required CSE courses must be taken at UB, and at least four of these courses should be 300 or 400-level CSE courses (excludes CSE 492, CSE 494-CSE 499). Degree Requirements Please see Degrees and Policies. About Our Courses Generally, classes in the freshmen and sophomore years tend to be somewhat larger as these classes serve as the foundation for many engineering majors. Once students enter their junior year, they take classes that are required for their particular major and class size decreases even more. The School of Engineering's block scheduling initiative assists first-semester freshmen by providing the same coordinated schedule of classes for approximately twenty students. So even though some classes may be larger, students will become familiar with other students who are in their other classes. In addition, students who opt for our small group academic support sessions interact closely with peer tutors on a weekly basis through our student excellence initiative. In the small groups, students work with professional instructors in about a 10:1 ratio. The workshop style format combines interactive instruction and student problem solving practice on material from Calculus, Physics, and Chemistry courses. In the short run, the groups provide personal attention in helping students understand challenging course material. The ultimate goal is that students learn how university level problems differ from those in high school and how to approach them. Typical class size: Freshman/introductory courses: 13 Calculus = 60 lec/30 rec, Physics = 155 lec/30 lab, Chemistry = 275 lec/24 lab, Computer Science = 120-180 lec/20-25 rec Sophomore /intermediate courses: 60-120 lec/20-35 rec Upper level/advanced courses: 40-75 lec/10-35 rec Suggested Introductory Courses For the BA: ● CSE 115 Intro to Computer Science for Majors I ● CSE 116 Intro to Computer Science for Majors II ● One of: MTH 121/MTH 122 Survey of Calculus & Its Applications I & II; MTH 131 Mathematical Analysis for Management; or MTH 141/MTH 142 College Calculus I & II ● CSE 191 Discrete Structures ● CSE 115 Intro to Computer Science for Majors I ● CSE 116 Intro to Computer Science for Majors II ● MTH 141 College Calculus I ● MTH 142 College Calculus II ● CSE 191 Discrete Structures For the BS: In the Department of Computer Science and Engineering, what do teaching assistants (TAs) do? They support instructors in lower-level undergraduate courses, cover recitations and laboratories, assist students, help grade papers, support instructional laboratories, and hold office hours. For course descriptions, please see Courses. About Our Faculty The faculty members of the department, all of whom have national and international reputations in their fields, are involved in research projects that have been supported by the National Science Foundation, the U.S. Postal Service, the U.S. Air Force, the Department of Defense, National Institute of Health, Advanced Research Project Agency, New York State Foundation of Science, Technical and Academic Research, and a variety of special contracts. Many have also received research funding from corporations such as Google, Microsoft, Fujitsu, NEC, Sprint and IBM. 14 These projects include research in: algorithms and theory, augmentative technology for the handicapped, computer networks and distributed systems, computer security and information assurance, computer vision and information visualization, data integration and databases, high performance and grid computing, cyber infrastructure and computational science, knowledge representation, computational linguistics, medical applications and bioinformatics, human computer interaction, wireless computing, multimedia databases and informational retrieval, pattern recognition, machine learning, data mining, programming languages and software systems, embedded systems, VLSI and computer architecture. Several of the faculty serve on the editorial boards of major research journals as well as the boards of major national professional societies. Many members of the department have won university awards for excellence in teaching, such as the SUNY/Chancellor's Award and the Milton Plesur Award. See a list of our Undergraduate Faculty. Practical Experience and Special Academic Opportunities As part of their undergraduate education, students are encouraged to participate in work experience classes and research opportunities. Co-Ops Work experience is available through the Engineering Career Institute program in the School of Engineering and Applied Sciences, as well as departmental co-op and internship classes. The Engineering Career Institute (EAS 396, 1 academic credit) provides career-effectiveness skills and co-op placement assistance during the junior year. This may be followed by one to three co-op work experiences (EAS 496, 2 academic credit hours). Co-ops may not be used to satisfy the requirements for the BS. Descriptions of co-op courses may be found in the Undergraduate Catalog. Internships Internship opportunities include a field experience working on a computer science and engineering project in a real-world setting under the joint direction of a supervisor from industry and a faculty advisor from the Department of Computer Science and Engineering. Projects selected should integrate the material learned in academic courses. Upon completing the internship (CSE 496), the student is expected to have fulfilled an internship contract. Only P/F grades will be given; therefore, internships may not be used to satisfy the requirements for the BS program. 15 Research Undergraduate research experiences are available for course credit (Undergraduate Research and Creative Activity or Independent Study) or as a paid assistant in the research laboratory of a faculty member. The Center for Undergraduate Research and Creative Activity serves as a clearing house for information regarding undergraduate research opportunities. Independent Study Independent study is tailored towards special projects working independently with the faculty. (May not be used to satisfy the requirements for the BA or BS.) Extracurricular Activities ● Computer Science and Engineering Undergraduate Student Association ● Institute of Electronic and Electrical Engineers (IEEE) Computer Society Student Chapter ● Association for Computing Machinery (ACM) Student Chapter See the UB Student Association. Complementary Programs and Courses ● Bioinformatics and Computational Biology ● Communication ● Computer Engineering ● Electrical Engineering ● Media Studies Links to Further Information About this Program ● Undergraduate Catalog ● Undergraduate Admissions ● Department of Computer Science and Engineering ● CSE Graduate Admissions ● School of Engineering and Applied Sciences ● Bioinformatics and Computational Biology (Concentration in Computer Science and Engineering) Updated: 07 Apr 2015 10:29:38 EDT 16 3. Degrees & Policies Home > Academic Programs > Computer Science > Degrees & Policies Computer Science : Degrees & Policies Degrees Offered Undergraduate: BA, BS, Minor Graduate: MS, Ph.D. Combined: BS/MS (accelerated), BA/MBA Advisement Entering freshmen/transfers are offered a wide range of special advisement opportunities and academic help sessions by the Office of Undergraduate Education, School of Engineering and Applied Sciences (410 Bonner Hall). Students in the program obtain academic guidance jointly from a senior academic advisor in Engineering and from the Computer Science and Engineering Undergraduate Advisor (338R Davis Hall). Department of Computer Science and Engineering assigns students majoring in CSE programs, faculty mentors, whom they meet at least once a year and discuss technical aspects of the program, future research opportunities, and academic, and career goals. Students are expected to see an academic advisor at least once a semester. A semester before graduation, students are required to meet with an advisor to ensure their remaining coursework satisfies the general education, design, and other program requirements needed to graduate. To graduate with a degree from the School of Engineering and Applied Sciences, students must have a minimum GPA of 2.0 in technical classes required for the major (includes engineering, math, technical electives, and science classes). Please refer to the degree program sections of the catalog for additional requirements. Computer science majors are exempt from the SEAS residency requirement. Required courses cannot be taken Pass-Fail or Satisfactory-Unsatisfactory. Students must obtain a minimum overall and UB GPA of 2.0 to be considered in academic good standing with the University. 17 Prerequisites are satisfied with grade of C- or better. If student does not obtain the required grade, the student must retake the course before proceeding to the next course for which it is a prerequisite. All CSE 300/400-level courses are for majors only. Departmental Senior Standing is achieved when students complete a minimum of: 2 of CSE 300-level courses for BA Program in CS and 3 of CSE 300-level courses for BS program in CS or CEN At least six of our required CSE courses must be taken at UB, and at least four of these courses should be 300 or 400-level CSE courses (excludes CSE 492, CSE 494-CSE 499). Acceptance Information See the School of Engineering and Applied Sciences for acceptance information. Students may apply for admission to Computer Science when they enter the University as freshmen, as transfer students, or later in their academic careers. Transfer Policy Transfer students must first apply to the university and meet the university transfer admission requirements. For admission of transfer students to engineering, see School of Engineering and Applied Sciences Transfer Policy in the Undergraduate Catalog, as well as additional departmental admission information. Computing courses taken outside the department, and offered as substitutes for computer science courses, are evaluated individually by the department. The student must provide evidence to help the department determine whether courses taken at another institution are equivalent to UB courses; course syllabi are generally preferable to catalog descriptions as catalog descriptions do not provide enough detail for accurate evaluation. Additional information on course equivalencies may be found on the university's transfer and articulation website at: http://taurus.buffalo.edu. Computer Science - B.S. Acceptance Criteria See School of Engineering and Applied Sciences Acceptance Information in the Undergraduate Catalog. Required Courses CSE 115 Intro to Computer Science for Majors I CSE 116 Intro to Computer Science for Majors II 18 CSE 191 Intro to Discrete Structures MTH 141 College Calculus 1 MTH 142 College Calculus 2 CSE 241 Digital Systems CSE 250 Data Structures CSE 305 Intro to Programming Languages CSE 331 Intro to Algorithm Analysis & Design CSE 341 Computer Organization CSE 396 Intro to the Theory of Computation CSE 421 Intro to Operating Systems CSE 442 Software Engineering One calculus-based probability or statistics course (e.g., EAS 305, MTH 411, STA 301) One CSE course in the Artificial Intelligence area: CSE 455 Intro to Pattern Recognition CSE 456 Intro to Visualization CSE 463 Knowledge Representation CSE 467 Computational Linguistics CSE 468 Robotics Algorithm CSE 473 Intro to Computer Vision & Image Processing CSE 474 Intro to Machine Learning One CSE course in the Software Systems area: CSE 321 Real-Time & Embedded Operating Systems 19 CSE 443 Intro to Language Processors CSE 451 Program Development CSE 462 Database Concepts CSE 469 Intro to Data Mining CSE 486 Distributed Systems CSE 489 Modern Networking Concepts MTH 141 College Calculus I MTH 142 College Calculus II One 400-level CSE course from any area (except CSE 492, CSE 494-CSE 499, a required CSE 400-level courses, or a course already used to satisfy the Artificial Intelligence or Software Systems areas above) One mathematical course from any dept. (approval of CSE faculty advisor is required for course selection). Any two-course science sequence with lab (from Biology, Chemistry, Geology, or Physics). Note: all courses are not offered every semester. Please check the undergraduate schedule ahead for planning. Undergraduate Credit Requirements Chart Credits Required for Major 78 20 Additional Credits Required for Gen 38 Ed Additional Credits Required for 4 Electives Total Credits Required for Degree 120 Students should consult with an academic advisor to determine how any transfer or exam credit might be utilized in meeting general education, prerequisite, or major requirements. See Baccalaureate Degree Requirements for general education and remaining university requirements. Recommended Sequence of Program Requirements FIRST YEAR Fall CSE 115, MTH 141, two Gen Eds* Spring CSE 116, CSE 191, MTH 142, one Gen Ed* SECOND YEAR Fall CSE 241, CSE 250, two Gen Eds* Spring CSE 305, one calculus-based probability or statistics course (e.g., EAS 305, MTH 411), one Gen Ed* THIRD YEAR 21 Fall CSE 331, MTH elective, one science sequence course, one Gen Ed* Spring CSE 341, CSE 396, one science sequence course FOURTH YEAR Fall CSE 442, one CSE course (SYS or AI), one CSE 400-level course, one Gen Ed* Spring CSE 421, one CSE course (SYS or AI), one Gen Ed* *Some of the required courses for general education are automatically fulfilled by computer science majors through completion of their required technical courses. The remaining general education course requirements that students completing a computer science degree need to fulfill include: ● Writing Skills Requirement (ENG 101 and ENG 201, or ESL 407 and ESL 408, as placed) ● UGC 111 World Civilization I ● UGC 112 World Civilization II ● UGC 211 or American Pluralism Cognate ● Two-course sequence in natural sciences, including at least one semester of laboratory ● Elementary-level proficiency in a language other than English ● One Social and Behavioral Science ● One Arts ● One Humanities requirement, pending Writing Skills placement. Students completing ENG 101 and ENG 201 have satisfied this requirement, but students completing ONLY ENG 201, or ESL 407 and ESL 408, have not. Students completing ESL 407 and ESL 408 must consequently add one more general education course than outlined in each term above. Computer Science - B.A. Acceptance Criteria See School of Engineering and Applied Sciences Acceptance Information in the Undergraduate Catalog. Required Courses Acceptance Criteria 22 See School of Engineering and Applied Sciences Acceptance Information in the Undergraduate Catalog. CSE 115 Intro to Computer Science for Majors I CSE 116 Intro to Computer Science for Majors II CSE 191 Intro to Discrete Structures CSE 241 Digital Systems CSE 250 Data Structures One of the following: MTH 121/MTH 122 Survey of Calculus & Its Applications I & II; MTH 131 Mathematical Analysis for Management; or MTH 141/MTH 142 College Calculus I & II Two of the following: CSE 305 Intro to Programming Languages; CSE 321 Real Time and Embedded Operating Systems; CSE 331 Intro to Algorithm Analysis and Design; CSE 341 Computer Organization; or CSE 396 Intro to the Theory of Computation Three CSE courses at the 300-level or 400-level (excludes CSE 494-CSE 499, CSE 492) One of the following: STA 111 Intro to Probability and Statistics I; STA 119 Statistical Methods; MGQ 301 Statistical Decisions in Management; MTH 411 Probability Theory; EAS 305 Applied Probability; STA 301 or other probability/statistics courses that may be subject to approval upon request. Any two-course science sequence (from Biology, Chemistry, Geology, or Physics) Five external concentration courses from one department other than CSE [five courses at the 200-level or above, with at most, two 200-level for a total of at least 15 credits]. Courses must be lecture based. Seminar and tutorial-type courses are not acceptable. External concentration courses must be approved by the CSE Director of Undergraduate Studies. Note: all courses are not offered every semester. Please check the undergraduate schedule ahead for planning. Undergraduate Credit Requirements Chart 23 Credits Required for Major 68 Additional Credits Required for Gen 38 Ed Additional Credits Required for 14 Electives Total Credits Required for Degree 120 Students should consult with an academic advisor to determine how any transfer or exam credit might be utilized in meeting general education, prerequisite, or major requirements. See Baccalaureate Degree Requirements for general education and remaining university requirements. Recommended Sequence of Program Requirements FIRST YEAR Fall CSE 115, one of (MTH 121, MTH 131 or MTH 141), two Gen Eds* Spring CSE 116, CSE 191, MTH 122 or MTH 142 (unless completed MTH 131), one Gen Ed* SECOND YEAR Fall CSE 241, CSE 250, two Gen Eds* 24 Spring one of: (CSE 305, CSE 341, or CSE 396), one probability or statistics course (e.g., STA 301, MTH 411), one Gen Ed* THIRD YEAR Fall one of: (CSE 321, CSE 331, or CSE 341), one science and engineering sequence course, one external concentration course, one Gen Ed* Spring **one CSE 300 or 400-level course, one science and engineering sequence course, one external concentration course FOURTH YEAR Fall **one CSE 300 or 400-level course, two external concentration courses, one Gen Ed* Spring **one CSE 300 or 400-level course, one external concentration course, one Gen Ed* *Some of the required courses for general education are automatically fulfilled by computer science majors through completion of their required technical courses. The remaining general education course requirements that students completing a computer science degree need to fulfill include: ● Writing Skills Requirement (ENG 101 and ENG 201, or ESL 407 and ESL 408, as placed) ● UGC 111 World Civilization I ● UGC 112 World Civilization II ● UGC 211 or American Pluralism Cognate ● Two-course sequence in natural sciences, including at least one semester of laboratory ● Elementary-level proficiency in a language other than English ● One Social and Behavioral Science ● One Arts ● One Humanities requirement, pending Writing Skills placement. Students completing ENG 101 and ENG 201 have satisfied this requirement, but students completing ONLY ENG 201, or ESL 407 and ESL 408, have not. Students completing ESL 407 and ESL 408 must consequently add one more general education course than outlined in each term above. 25 **maximum of one CSE 300-level course required of the three total required courses Computer Engineering - B.S. About the Program The computer engineering B.S. degree combines the study of mathematics, computer science, and electrical engineering. Computer engineering emphasizes those topics that bridge the electrical engineering and computer science disciplines: computer hardware, device-oriented software, and the interface between hardware and software. General education is integrated into the curriculum consistent with other engineering programs at UB. For further information, see the Computer Engineering entry in this catalog, http://undergrad- catalog.buffalo.edu/academicprograms/comeng.shtml. Computer Science / Computer Science And Engineering - B.S./M.S. Acceptance Criteria A minimum of a 3.3 GPA in all CSE, MTH, and EAS courses. Transfer students must complete at least one semester at the university before applying. Application must be accompanied by two letters of recommendation from our faculty and reviewed by the department. It is recommended that candidates complete CSE 115, CSE 116, CSE 191, CSE 241, CSE 250, *MTH 141, *MTH 142, and a calculus-based probability or statistics course prior to applying. *Unless exempted by an SAT score, Advanced Placement credits, or transfer credits. Advising Notes No required undergraduate courses may be taken Pass-Fail. Please refer to the graduate handbook regarding the graduate portion of the BS/MS, as all graduate program rules apply. A minimum of 30 graduate credits is required by the Graduate School to satisfy M.S. university requirements. A total of 132 credits (both undergraduate and graduate) are required for this program, which includes the university general education courses. Students enrolled in the BS/MS program are not allowed to take the same CSE course at the 400 and 500 level with both counting towards their degree requirements. 26 Prerequisite Courses Required Courses CSE 115 Intro to Computer Science for Majors I - 4 cr. CSE 116 Intro to Computer Science for Majors II - 4 cr. CSE 191 Intro to Discrete Structures - 4 cr. CSE 241 Digital Systems - 4 cr. CSE 250 Data Structures - 4 cr. MTH 141 College Calculus I - 4 cr. MTH 142 College Calculus II - 5 cr. One calculus-based probability or statistics course (e.g., EAS 305, MTH 411) - 3-4 cr. CSE 331 Intro to Algorithm Analysis & Design - 4 cr. CSE 341 Computer Organization - 4 cr. CSE 396 Intro to the Theory of Computation - 4 cr. One 300-level or higher MTH or STA course - 3 cr. min. CSE 442 Software Engineering - 4 cr. Any two-course science sequence with lab (from Biology, Chemistry, Geology, Physics) - 6 cr. min. Total UG CSE Major Required Credits - 57-58 Total UG General Education and Distribution Requirement Credits - 45 Total UG portion credits - 102-103 Graduate* 27 Core Requirement (15 Credits): CSE 505 Fundamentals of Programming Languages - 3 credits (or equivalent with prior approval from the Director of Graduate Studies) CSE 521 - Intro to Operating Systems 3 credits One of the following (Theory/Algorithms - T/A Core) - 3 credits: CSE 531 Analysis of Algorithms CSE 596 Intro to the Theory of Computation CSE 529 Algorithms for Modern Computing Systems One of the Following (Artificial Intelligence - A/I Core) - 3 credits: CSE 555 Intro to Pattern Recognition CSE 563 Knowledge Representation CSE 573 Intro to Computer Vision & Image Processing CSE 574 Intro to Machine Learning CSE 568 Robotics Algorithms One of the Following (Hardware and Networked Systems - HW Core) - 3 credits: CSE 552 VLSI (Very Large Scale Integration) Testing CSE 586 Distributed Systems CSE 589 Modern Networking Concepts 28 CSE 590 Computer Architecture CSE 593 Intro to VLSI Electronics Depth Area Requirement (6 Credits): Must take 2 course from one area listed below. At least one of these two courses must be a 6xx-level course. Software and Information Systems (SW) Area: CSE 512 Operating Systems Internals CSE 535 Information Retrieval CSE 562 Database Systems CSE 565 Computer Security CSE 587 Data-Intensive Computing CSE 601 Data Mining and Bioinformatics CSE 603 Parallel and Distributed Processing CSE 605 Advanced Concepts in Programming Languages CSE 622 Advanced Computer Systems CSE 635 Advanced Topics in Information Retrieval CSE 636 Data Integration CSE 664 Applied Cryptography and Computer Security CSE 675 Stochastic Simulation and Inference 29 Theory/Algorithms (T/A) Area: CSE 529 Algorithms for Modern Computing Systems CSE 531 Analysis of Algorithms CSE 545 Error Correcting Codes CSE 564 Game Theory and Distributed Computing CSE 596 Intro to the Theory of Computation CSE 632 Analysis of Algorithms II CSE 633 Parallel Algorithms CSE 662 Languages and Runtimes for Big Data CSE 680 Computational Geometry CSE 681 Formal Languages CSE 694 Topics in Algorithms CSE 696 Computational Complexity Artificial Intelligence (AI) Area: CSE 555 Intro to Pattern Recognition CSE 556 Introduction to Visualization CSE 563 Knowledge Representation CSE 568 Robotics Algorithms CSE 573 Intro to Computer Vision & Image Processing CSE 574 Intro to Machine Learning 30 CSE 626 Data Mining CSE 661 Document Analysis and Recognition CSE 663 Advanced Knowledge Representation and Reasoning CSE 666 Introduction to Biometric and Image Analysis CSE 667 Advanced Topics in Computational Linguistics CSE 668 Advanced Robotics CSE 672 Bayesian Vision CSE 674 Advanced Machine Learning CSE 678 Face and Gesture Recognition Hardware and Networked Systems (HW) Area: CSE 524 Real-time and Embedded Systems CSE 534 Introduction to Multimedia Systems CSE 547 High Performance Computing I CSE 552 VLSI (Very Large Scale Integration) Testing CSE 566 Wireless Networks Security CSE 586 Distributed Systems CSE 589 Modern Networking Concepts CSE 590 Computer Architecture CSE 593 Intro to VLSI Electronics CSE 620 Advanced Networking Concepts 31 CSE 622 Advanced Computer Systems CSE 630 Advanced Wireless Networking Concepts CSE 646 Wireless Networking and Mobile Computing CSE 671 Security in Ad-hoc and Sensor Networks CSE 691 Advanced VLSI Design Graduate Elective Requirement - 9 credits -Must include 1-3 credit of CSE 7xx level seminar -May include at most 6 graduate credits from outside the CSE Department -The following courses do not satisfy the Graduate Elective requirement: CSE 501 Graduate Studies in CS CSE 503 Computer Science for Non-majors CSE 504 Computer Science for Non-majors II CSE 507 Object Oriented Applications and Systems Design Total required graduate credits: 30. Note: all courses are not offered every semester. Please check the undergraduate/graduate schedule ahead for planning. Summary 32 Total required credit hours for the undergraduate portion: 102-103 Total required credit hours for the graduate portion: 30 Total required credit hours for the BS/MS: 132-133 See Baccalaureate Degree Requirements for general education, distribution and other university requirements. Students in the BS/MS program must change status from undergraduate to graduate while completing the program. Student status will change to graduate after the completion of no more than four graduate-level courses. When the student changes status to graduate, all Graduate School rules and policies apply; therefore, the student must be familiar with and adhere to the Graduate School's Policies and Procedures Manual as well as the CSE Department's Graduate Handbook, which is available at http://www.cse.buffalo.edu. Recommended Sequence of Program Requirements Sample Sequence of Program Requirements - BS/MS with Software Focus FIRST YEAR Fall CSE 115, MTH 141, three Gen Eds* Spring CSE 116, CSE 191, MTH 142, one Gen Ed* SECOND YEAR Fall CSE 250, CSE 241, two Gen. Eds.* Spring one calculus-based probability or statistics course (e.g., EAS 305, MTH 411, STA 301), CSE 442, two Gen Eds* THIRD YEAR 33 Fall CSE 331, one 3XX or 4XX MTH or STA course (approved by faculty advisor), one science sequence course, one Gen Ed* Spring CSE 396, CSE 341, one science sequence course, one Gen Ed* FOURTH YEAR Fall - CSE 505, CSE 442, HW Core: CSE 589, AI Core: CSE 555, one Gen Ed* - 15 cr. Spring - CSE 521, two SW Area Core: CSE 562 and CSE 636, one CSE 5XX elective course, T/A Core: CSE 531- 12 cr. FIFTH YEAR Fall - one 6XX-level elective course - 3 cr. Spring - CSE 7XX - 3 cr. *Some of the required general education courses are automatically fulfilled by computer science majors through completion of their required technical courses. The remaining general education course requirements that students completing a computer science degree need to fulfill include: ● Writing Skills Requirement (ENG 101 and ENG 201, or ESL 407 and ESL 408, as placed) ● UGC 111 World Civilization I ● UGC 112 World Civilization II ● UGC 211 or American Pluralism Cognate ● Two-course sequence in natural sciences, including at least one semester of laboratory ● Elementary-level proficiency in a language other than English ● one Social and Behavioral Science course ● one Arts course ● one Humanities requirement, pending Writing Skills placement. Students completing ENG 101 and ENG 201 have satisfied this requirement, but students completing ONLY ENG 201, or ESL 407 and ESL 408, have not. Students completing ESL 407 and ESL 408 must consequently add one more general education course than outlined in each term above. 34 Computer Science - B.A./M.B.A Acceptance Criteria Prior admission into the CS major and acceptance as a graduate student by the School of Management. See School of Engineering and Applied Sciences Acceptance Information in the Undergraduate Catalog. Advising Notes In addition to university-wide graduation requirements, a minimum GPA of 2.0 is required in undergraduate technical courses. This is the GPA among all CSE, MTH, STA and EAS courses used below as required courses. No required courses may be taken Pass-Fail or Satisfactory-Unsatisfactory. Prerequisites are satisfied with a grade of C- or better. Students apply directly to the School of Management during their junior year to be admitted to the MBA Program. The MBA courses shown below are representative of those currently required but may change prior to a student's acceptance into the MBA Program. Students should confirm MBA program requirements with the School of Management upon their application and acceptance to that program. Required Courses CSE 115 Intro to Computer Science for Majors I CSE 116 Intro to Computer Science for Majors II One of:MTH 121/MTH 122 Survey Of Calculus & Its Applications I & II; MTH 131 Mathematical Analysis for Management; or MTH 141/MTH 142 College Calculus I & II CSE 191 Intro to Discrete Structures 35 CSE 241 Digital Systems CSE 250 Data Structures Two of: CSE 305 Intro to Programming Languages CSE 321 Real-Time and Embedded Operating Systems CSE 331 Intro to Algorithm Analysis and Design CSE 341 Computer Organization CSE 396 Intro to the Theory of Computation Three CSE courses at the 300-level or above with minimum two at the 400-level (excludes CSE 494 - CSE 499, CSE 492) Any two-course science and engineering sequence (from Biology, Chemistry, Geology, Physics, or any department in the School of Engineering and Applied Sciences, except CSE) MGA 603 Financial Accounting for Managers MGA 605 Accounting for Management Decision Making MGB 610 Organizational Behavior MGB 611 Team Skills MGE 604 Business Economics MGF 611 Financial Analysis for Managers MGG 601 Corporate Social Responsibility/Sustainability MGG 635 Management Communication MGM 615 Marketing for Managers MGO 620 Operations Management MGO 640 Business Strategy MGO 642 Integration of Business Functions 36 MGO 644 Business Practice MGQ 608 Statistical Analysis for Managers MGQ 609 Analytics for Managers MGS 605 IT Management Seven MGT electives (may include internship) *MGQ 608 satisfies a requirement in the School of Management as well as the probability/statistics requirement in computer science. Note: all courses are not offered every semester. Please check the undergraduate schedule ahead for planning. Combined Degree Credit Requirements Chart Credits Required for Major 48 (Undergraduate) Credits Required for Major 48 (Graduate) Additional Credits Required 31 for Gen Ed1 Additional Credits Required 0 37 for Electives Total Credits Required for 127 Degree Students should consult with an academic advisor to determine how any transfer or exam credit might be utilized in meeting general education, prerequisite, or major requirements. See Baccalaureate Degree Requirements for general education and remaining university requirements. Refer to the School of Management's MBA handbook for requirements for MBA candidates. Recommended Sequence of Program Requirements FIRST YEAR Fall CSE 115, one of: MTH 121, MTH 131 or MTH 141, two Gen Eds* Spring CSE 116, CSE 191, one of: MTH 122 or MTH 142 (unless completed MTH 131), two Gen Eds* SECOND YEAR Fall CSE 250, CSE 241, one science and engineering sequence course, one Gen Ed* Spring one of: CSE 305, CSE 321, CSE 331, CSE 341, or CSE 396; one science and engineering sequence course, two Gen Eds* 38 THIRD YEAR Fall one of: CSE 305, CSE 321, CSE 331, CSE 341, or CSE 396; one CSE 300 or 400-level or higher courses (min. 2 CSE 400-level), one Gen Ed* Spring two CSE 300 or 400-level or higher courses (min. 2 CSE 400-level), one Gen Ed* FOURTH YEAR Fall First semester MBA Core Spring Second semester MBA Core (10 cr.) FIFTH YEAR Fall Third Semester MBA Electives (12 cr.) (may include internship) Spring Fourth Semester MBA Core (2 cr.), MBA Electives (9 cr.) *Some of the required courses for general education are automatically fulfilled by computer science majors through completion of their required technical courses. The remaining general education course requirements that students completing a computer science degree need to fulfill include: ● Writing Skills Requirement (ENG 101 and ENG 201, or ESL 407 and ESL 408, as placed) ● UGC 111 World Civilization I ● UGC 112 World Civilization II ● UGC 211 or American Pluralism Cognate ● Two-course sequence in natural sciences, including at least one semester of laboratory ● Elementary-level proficiency in a language other than English ● One Social and Behavioral Science ● One Arts ● One Humanities requirement, pending Writing Skills placement. Students completing ENG 101 and ENG 201 have satisfied this requirement, but students completing ONLY ENG 201, or ESL 39 407 and ESL 408, have not. Students completing ESL 407 and ESL 408 must consequently add one more general education course than outlined in each term above. Computer Science - Minor About the Minor Six CSE courses (excluding CSE 101, CSE 111, CSE 113, CSE 492, and CSE 494-499), with at least two at the 300- level or above. A minimum GPA of 2.5 overall in those courses is required. At least three courses must be taken at UB. A maximum of two of these courses may be used for a student's major. Admission into the computer science minor is based on completion of any three of the courses that constitute a minor in computer science with a minimum combined GPA of 2.5 in those courses. Applicants to the computer science minor should bring a copy of their current UB DARS report directly to the Department of Computer Science and Engineering during the semester after three of the six required courses are completed. SAMPLE MINOR PROGRAMS Software track: CSE 115, CSE 116, CSE 191, CSE 250, CSE 305, CSE 442 Hardware track: CSE 115, CSE 116, CSE 191, CSE 241, CSE 379, CSE 380 Minor Credit Requirements Chart Total Credits Required for 2 Minor/Certificate 4 Minors and certificates must be completed in conjunction with a major and all university degree requirements must be met. 40 Students should consult with an academic advisor to determine how any transfer or exam credit might be utilized in meeting general education, prerequisite, or major requirements. Updated: 07 Apr 2015 10:29:39 EDT B. GRADUATE Below is the Computer Science Graduate Curriculum at the University at Buffalo. This information - and also the more detailed description of the courses, faculty, and careers - can also be found at: http://www.cse.buffalo.edu/graduate/handbooks/grad-handbook-2014.pdf 41 42 43 44 45 46