Effective: Fall 2012

May be elected as a departmental major

The program not only provides a solid foundation in computer software, hardware, and theory, but also gives the student ample opportunity to take advanced electives in areas of computer science such as databases, operating systems, security, networks, artificial intelligence, and graphics, or in emerging interdisciplinary areas such as cloud computing, smart phone or web apps, and computer game design.

Pre-Major Requirements

To declare in the LSA Computer Science (CS) major a student must first complete 4 pre-courses for the major. These are: EECS 203, EECS 280, MATH 115, MATH 116. Performance in these classes is indicative of student aptitude for the Computer Science program, and students who do not perform well are encouraged to meet with a CS-LSA advisor. Students must achieve a 2.5 GPA over the 4 pre-courses for the major and have at least a C in each course. Students may repeat a pre-major course once, for a maximum of two attempts at each course, and only the final grade for the course will be used to compute the premajor GPA. Only courses with grades of C+ or below can be repeated for this purpose.

Requirements for the Major

Grades of C or better must be achieved in all courses taken to satisfy Computer Science requirements.

  1. Core Courses:
    1. Computer Science: EECS 281, 370, 376.
    2. Probability and Statistics: STATS 250 or 412 or 426, or STATS 265/IOE 265.
  2. Capstone Course ( which may not be counted as CS Upper Level Technical Elective below):  Senior Thesis (EECS 443) or Major Design Experience Course (check with the department for current list of approved MDE courses).
  3. Upper-Level CS Technical Electives. 16 credits.  Check with the department for an up-to-date list of approved Upper Level CS elective courses. The department can suggest groupings of electives that pursue different tracks such as software development, robotics, or bioinformatics, among various others.
  4. At least 27 credits must be upper-level

Comprehensive and up-to-date information about the computer science program can be found on the web at:

www.eecs.umich.edu/eecs/undergraduate/

Honors Plan

Students wishing to complete an Honors major in Computer Science must have earned a 3.2 or higher GPA in the four required pre-courses for the major (MATH 115, 116, EECS 203 and 280). Student must also have earned an overall GPA of 3.4 or higher (as required by LSA for Honors), and must have a final major GPA in Computer Science of 3.5 or higher. Students must complete the Senior Thesis course (EECS 443), write a thesis, and make an oral presentation of the thesis results, with the faculty advisor and a second faculty member determining whether the thesis is of a quality that qualifies the students for Honors.

Computer Science concentration (Fall 2011-Summer 2012) +

 

 Effective: Fall 2011-Summer 2012 |

May be elected as a departmental concentration program; Accredited by the Computing Accreditation Commission of ABET, http://www.abet.org.

The program not only provides a solid foundation in computer software, hardware, and theory, but also gives the student ample opportunity to take advanced electives in areas of computer science such as databases, operating systems, security, networks, artificial intelligence, and graphics, or in emerging interdisciplinary areas such as cloud computing, smart phone or web apps, and computer game design.

Pre-Concentration Requirements. 

To declare in the LSA Computer Science (CS) concentration a student must first complete 5 pre-concentration courses. These are: EECS 203, EECS 280, MATH 115, MATH 116, and one of MATH 214, MATH 215, or MATH 216. Performance in these classes is indicative of student aptitude for the Computer Science program, and students who do not perform well are encouraged to meet with a CS-LSA advisor. Students must achieve a 2.5 GPA over the 5 pre-concentration courses and have at least a C in each course. Students may repeat a pre-concentration course once, for a maximum of two attempts at each course, and only the final grade for the course will be used to compute the preconcentration GPA. Only courses with grades of C+ or below can be repeated for this purpose.

ABET (Accreditation Board for Engineering and Technology)Laboratory Science Requirement. In order to meet accreditation standards for CS degree programs, all students seeking a CS degree must complete a minimum of 12 credits of NS, and this must include two courses with laboratories that are required in a science or engineering degree program. Credits used to meet this requirement may be counted toward LSA distribution requirements, but cannot be used toward Flexible Technical Electives in the concentration program.

Concentration Program.

Grades of C or better must be achieved in all courses taken to satisfy Computer Science requirements.
  1. Core Courses:
    1. Computer Science: EECS 281, 370, 376, 496.
    2. Probability and Statistics: STATS 412 or STATS 265/IOE 265.
    3. Major Design Experience (MDE): A course approved as satisfying the MDE requirement (check with the department for current list of approved MDE courses). This must be taken concurrently with EECS 496 and TCHNCLCM 497, and is normally one of the Upper-Level CS Technical Electives (see below).
  2. Technical Communications. Three credits, including TCHNCLCM 300 (1 credit) and TCHNCLCM 497 (2 credits). TCHNCLCM 300 may be taken at any time, but is a prerequisite to TCHNCLCM 497, which must be taken concurrently with EECS 496 and a Major Design Experience (MDE) elective.
  3. Technical Electives. A minimum of  21 additional credits of technical electives are required, selected as follows:
    1. At least 16 of the 21 credits must be in approved Upper Level CS Technical Electives. Check with the department for an up-to-date list of approved Upper Level CS elective courses. All 21 elective credits can be Upper Level electives, and students are encouraged to take more than the minimum of 16.
    2. A maximum of 5 of the required 21 technical elective credits may be chosen from the approved Flexible Technical Electives . These are courses in engineering, mathematics, or science that are approved as appropriate for CS students. Check with the department for the current list of approved Flexible Technical Electives. EECS 499 (Directed Study) is accepted as a Flexible elective, but is limited to a maximum of 4 credits; any additional 499 credits count towards free electives.
    3. At least 18 of the 21 elective credits must be in CS courses listed in this Bulletin (or the department CS elective lists) at 200-level and above. This means that if the student takes the minimum number of Upper Level CS Technical Electives, at least 2 credits of the Flexible electives must be in CS courses.

Comprehensive and up-to-date information about the computer science program can be found on the web at:

http://www.eecs.umich.edu/eecs/undergraduate/

Honors Concentration. Students wishing to complete an Honors degree in Computer Science must have earned a 3.2 or higher GPA in the five required pre-concentration courses (MATH 115, 116, 215, EECS 203 and 280). Student must also have earned an overall GPA of 3.4 or higher (as required by LSA for Honors), and must have a final concentration GPA in Computer Science of 3.5 or higher.

In addition, the required minimum of 18 credits of electives in Computer Science must be satisfied by Upper-Level CS electives; no Flexible electives can be used to meet this requirement.

How to Major in Computer Science

The following is general advice we often give our students, but we encourage you to meet with a Computer Science advisor at any time to discuss your plans and progress.

  1.  Pay careful attention to the rules stated in the concentration requirements. Our program has a very full schedule. Thus mistakes in understanding the requirements can cost you additional academic terms. In case of doubt, please come in for advice at the EECS Undergraduate Advising office, or check the current program requirements on the Departmental web site.
  2. The C grade rule for concentration program courses is very important. Required courses with grades of C- or below must be retaken; concentration electives with grades of C- or below must either be retaken or replaced with a different acceptable elective.
  3.  If you are a transfer student, please contact the EECS Advising Office immediately. We make case-by-case decisions on transferred coursework to make sure you get started in our program at the right place. To avoid possibly costly delays, you need to start this process immediately.
  4. Your first goal is to meet the pre-concentration requirements. Taking EECS 203 (Discrete Structures) and EECS 280 (Programming) simultaneously often works well, and these are the two prerequisites for the "gateway" course, EECS 281 (Data Structures and Algorithms). Try to have the Math courses done by the time you complete EECS 203 and 280. If you are having trouble meeting the pre-concentration GPA requirement, it is vital to meet with a CS advisor without delay.
  5. Take EECS 281 as soon as you can, and declare the Computer Science concentration during that academic term. Declaring at this time will allow you to register for the Upper Level Electives the next academic term, which will help you get the choices you want as you finish the program.
  6.  The Laboratory Science requirement is required to get the CS degree, and must be completed by graduation. But you can take these courses at any convenient time; none of them are prerequisites for any required CS courses or Upper Level CS electives.
  7.  If you are interested in Operating Systems and Networks, taking EECS 370 (Computer Organization) at the same time as EECS 281 will enable you to register the next academic term for EECS 482 (Operating Systems) which is the prerequisite for EECS 489 (Networks). Note: these courses historically have assignments due the same week if not the same day. Organizational skills and the ability to plan ahead are critical if these two courses are taken together.
  8. We often advise students to avoid taking more than two courses at the same time that involve a lot of programming work. The advisors can help you make the best selection. You are encouraged to speak with an EECS peer mentor for a student's insight into course selections and expectations. Saving some of your LSA requirements for later academic terms can help spread out the workload. An indicator of workload is available at: www.eecs.umich.edu/eecs/undergraduate/survey/
  9. It is a good idea to save some of the Flexible Technical Elective credits for doing an EECS 499 (Directed Study) course in which you work with a professor on a project of mutual interest. A 499 is especially valuable if you are interested in graduate school. If one of your professors is doing work that is interesting to you, approach him or her to discuss this possibility. It is usually most valuable to do an EECS 499 relatively late in your program, when you have acquired knowledge and skills that contribute to the work, and have a clearer picture of what areas you are most interested in. Keep graduate school application deadlines in mind.
  10.   All of our Upper Level Electives are challenging and substantial courses, and cover a wide variety of topics in computing. The best way to choose your electives is have an idea about the kind of work or career path you want to pursue after getting your degree, and then choose the electives that will help you do it. EECS faculty in your area of interest are an excellent source of advice. We encourage you to discuss your elective choices with them, or the CS advisors.
  11.   The best time to take the Major Design Experience package is as late as possible, no earlier than Fall of your final year. This will take the most advantage of the technical knowledge you have gained in your other courses. To prepare for this, take TCHNCLCM 300 your sophomore or junior year, and then be sure to take TCHNCLCM 497 and EECS 496 in the same term as you take your Major Design Experience elective. TCHNCLCM 497 is supposed to coordinate with the MDE course to give you the most realistic preparation for real-world design and development work, in which communicating your ideas is critical to success. Similarly, EECS 496 will be most useful if taken at the same time as the MDE course.
  12. Caution: There are many EECS courses that are not approved as Computer Science Technical Electives. If a course of interest is not listed in this Bulletin as a CS course, check with the department for the up-to-date list. If a course is not listed as an approved CS elective, it will not be accepted unless an exception is granted by the Chief Program Advisor.
  13. The CS program advisors based in the EECS department do not provide any advice or guidance on meeting LSA requirements. Please review these periodically with an LSA advisor. We recommend that you direct all questions about the CS program requirements to the CS advisors whenever possible.

 

Computer Science concentration Fall 2009-Summer 2011 +

 

Concentration Effective  Fall 2009 - Summer 2011 

May be elected as a departmental concentration program; Accredited by the Accreditation Board for Engineering and Technology (ABET)

The program not only provides a solid foundation in computer software, hardware, and theory, but also gives the student ample opportunity to take advanced electives in areas of computer science such as databases, operating systems, security, networks, artificial intelligence, and graphics, or in emerging interdisciplinary areas such as cloud computing, smart phone or web apps, and computer game design.

Pre-Concentration Requirements. 

To declare in the LSA Computer Science (CS) concentration a student must first complete 5 pre-concentration courses. These are: EECS 203, EECS 280, MATH 115, MATH 116, and one of MATH 214, MATH 215, or MATH 216. Performance in these classes is indicative of student aptitude for the Computer Science program, and students who do not perform well are encouraged to meet with a CS-LSA advisor. Students must achieve a 2.5 GPA over the 5 pre-concentration courses and have at least a C in each course. Students may repeat a pre-concentration course once, for a maximum of two attempts at each course, and only the final grade for the course will be used to compute the preconcentration GPA. Only courses with grades of C+ or below can be repeated for this purpose.

ABET (Accreditation Board for Engineering and Technology)Laboratory Science Requirement. In order to meet accreditation standards for CS degree programs, all students seeking a CS degree must complete a minimum of 12 credits of NS, and this must include two courses with laboratories that are required in a science or engineering degree program. Credits used to meet this requirement may be counted toward LSA distribution requirements, but cannot be used toward Flexible Technical Electives in the concentration program.

Concentration Program.

Grades of C or better must be achieved in all courses taken to satisfy Computer Science requirements.
  1. Core Courses:
    1. Computer Science: EECS 281, 370, 376, 496.
    2. Probability and Statistics: STATS 412 or STATS 265/IOE 265.
    3. Major Design Experience (MDE): A course approved as satisfying the MDE requirement (check with the department for current list of approved MDE courses). This must be taken concurrently with EECS 496 and TCHNCLCM 497, and is normally one of the Upper-Level CS Technical Electives (see below).
  2. Technical Communications. Three credits, including TCHNCLCM 300 (1 credit) and TCHNCLCM 497 (2 credits). TCHNCLCM 300 may be taken at any time, but is a prerequisite to TCHNCLCM 497, which must be taken concurrently with EECS 496 and a Major Design Experience (MDE) elective.
  3. Technical Electives. A minimum of  21 additional credits of technical electives are required, selected as follows:
    1. At least 16 of the 21 credits must be in approved Upper Level CS Technical Electives. Check with the department for an up-to-date list of approved Upper Level CS elective courses. All 21 elective credits can be Upper Level electives, and students are encouraged to take more than the minimum of 16.
    2. A maximum of 5 of the required 21 technical elective credits may be chosen from the approved Flexible Technical Electives . These are courses in engineering, mathematics, or science that are approved as appropriate for CS students. Check with the department for the current list of approved Flexible Technical Electives. EECS 499 (Directed Study) is accepted as a Flexible elective, but is limited to a maximum of 4 credits; any additional 499 credits count towards free electives.
    3. At least 18 of the 21 elective credits must be in CS courses listed in this Bulletin (or the department CS elective lists) at 200-level and above. This means that if the student takes the minimum number of Upper Level CS Technical Electives, at least 2 credits of the Flexible electives must be in CS courses.

Comprehensive and up-to-date information about the computer science program can be found on the web at:

http://www.eecs.umich.edu/eecs/undergraduate/ugcs/computer_science.html

Honors Concentration. Students wishing to complete an Honors degree in Computer Science must have earned a 3.2 or higher GPA in the five required pre-concentration courses (MATH 115, 116, 215, EECS 203 and 280). Student must also have earned an overall GPA of 3.4 or higher (as required by LSA for Honors), and must have a final concentration GPA in Computer Science of 3.5 or higher.

In addition, the required minimum of 18 credits of electives in Computer Science must be satisfied by Upper-Level CS electives; no Flexible electives can be used to meet this requirement.

How to Major in Computer Science

 

The following is general advice we often give our students, but we encourage you to meet with a Computer Science advisor at any time to discuss your plans and progress.

  1.  Pay careful attention to the rules stated in the concentration requirements. Our program has a very full schedule. Thus mistakes in understanding the requirements can cost you additional academic terms. In case of doubt, please come in for advice at the EECS Undergraduate Advising office, or check the current program requirements on the Departmental web site.
  2. The C grade rule for concentration program courses is very important. Required courses with grades of C- or below must be retaken; concentration electives with grades of C- or below must either be retaken or replaced with a different acceptable elective.
  3.  If you are a transfer student, please contact the EECS Advising Office immediately. We make case-by-case decisions on transferred coursework to make sure you get started in our program at the right place. To avoid possibly costly delays, you need to start this process immediately.
  4. Your first goal is to meet the pre-concentration requirements. Taking EECS 203 (Discrete Structures) and EECS 280 (Programming) simultaneously often works well, and these are the two prerequisites for the "gateway" course, EECS 281 (Data Structures and Algorithms). Try to have the Math courses done by the time you complete EECS 203 and 280. If you are having trouble meeting the pre-concentration GPA requirement, it is vital to meet with a CS advisor without delay.
  5. Take EECS 281 as soon as you can, and declare the Computer Science concentration during that academic term. Declaring at this time will allow you to register for the Upper Level Electives the next academic term, which will help you get the choices you want as you finish the program.
  6.  The Laboratory Science requirement is required to get the CS degree, and must be completed by graduation. But you can take these courses at any convenient time; none of them are prerequisites for any required CS courses or Upper Level CS electives.
  7.  If you are interested in Operating Systems and Networks, taking EECS 370 (Computer Organization) at the same time as EECS 281 will enable you to register the next academic term for EECS 482 (Operating Systems) which is the prerequisite for EECS 489 (Networks). Note: these courses historically have assignments due the same week if not the same day. Organizational skills and the ability to plan ahead are critical if these two courses are taken together.
  8. We often advise students to avoid taking more than two courses at the same time that involve a lot of programming work. The advisors can help you make the best selection. You are encouraged to speak with an EECS peer mentor for a student's insight into course selections and expectations. Saving some of your LSA requirements for later academic terms can help spread out the workload. An indicator of workload is available at: www.eecs.umich.edu/eecs/undergraduate/survey/
  9. It is a good idea to save some of the Flexible Technical Elective credits for doing an EECS 499 (Directed Study) course in which you work with a professor on a project of mutual interest. A 499 is especially valuable if you are interested in graduate school. If one of your professors is doing work that is interesting to you, approach him or her to discuss this possibility. It is usually most valuable to do an EECS 499 relatively late in your program, when you have acquired knowledge and skills that contribute to the work, and have a clearer picture of what areas you are most interested in. Keep graduate school application deadlines in mind.
  10.   All of our Upper Level Electives are challenging and substantial courses, and cover a wide variety of topics in computing. The best way to choose your electives is have an idea about the kind of work or career path you want to pursue after getting your degree, and then choose the electives that will help you do it. EECS faculty in your area of interest are an excellent source of advice. We encourage you to discuss your elective choices with them, or the CS advisors.
  11.   The best time to take the Major Design Experience package is as late as possible, no earlier than Fall of your final year. This will take the most advantage of the technical knowledge you have gained in your other courses. To prepare for this, take TCHNCLCM 300 your sophomore or junior year, and then be sure to take TCHNCLCM 497 and EECS 496 in the same term as you take your Major Design Experience elective. TCHNCLCM 497 is supposed to coordinate with the MDE course to give you the most realistic preparation for real-world design and development work, in which communicating your ideas is critical to success. Similarly, EECS 496 will be most useful if taken at the same time as the MDE course.
  12. Caution: There are many EECS courses that are not approved as Computer Science Technical Electives. If a course of interest is not listed in this Bulletin as a CS course, check with the department for the up-to-date list. If a course is not listed as an approved CS elective, it will not be accepted unless an exception is granted by the Chief Program Advisor.
  13. The CS program advisors based in the EECS department do not provide any advice or guidance on meeting LSA requirements. Please review these periodically with an LSA advisor. We recommend that you direct all questions about the CS program requirements to the CS advisors whenever possible.

 

Computer Science concentration (Fall 2005 through Summer 2009) +

 

Concentration Effective: Fall 2005 through Summer 2009 

 

May be elected as a departmental concentration program; Accredited by the Accreditation Board for Engineering and Technology (ABET)

Pre-Concentration Requirements.

To enroll in the LS&A Computer Science (CS) program a student must first complete 5 pre-concentration courses. These are: MATH 115, MATH 116, MATH 215, EECS 203, and EECS 280. Performance in these classes is indicative of student aptitude for the Computer Science program, and students who do not perform well are discouraged from continuing. Students must achieve a 2.5 GPA over the 5 pre-concentration courses and have at least a C in each course. Students may repeat a pre-concentration course once, for a maximum of two attempts at each course, and only the final grade for the course will be used to compute the preconcentration GPA. Only courses with grades of C+ or below can be repeated for this purpose.

ABET (Accreditation Board for Engineering and Technology) Laboratory Science Requirement. In order to meet accreditation standards for CS degree programs, all students seeking a CS degree must complete a minimum of 12 credits of NS, and this must include a two-term course sequence with laboratories that is required in a science or engineering degree program. An example of such a sequence is PHYSICS 140, 141, 240, 241. Check with the department for an up-to-date list of course combinations that meet this requirement. Credits used to meet this requirement may be counted toward LS&A distribution requirements, but cannot be used toward Flexible Technical Electives in the concentration program. Meeting this requirement is mandatory for the CS degree.

Concentration Program. Grades of C or better must be achieved in all courses taken to satisfy the concentration requirements.

  1. Core Courses:
    1. Computer Science: EECS 281, 370, 376, 496.
    2. Probability and Statistics: STATS 412 or STATS 265/IOE 265.
    3. Major Design Experience (MDE): A course approved as satisfying the MDE requirement (check with the department for current list of approved MDE courses). This must be taken concurrently with EECS 496 and TCHNCLCM 497, and is normally one of the Upper-Level CS Technical Electives (see below).
  2. Technical Communications. Three credits, including TCHNCLCM 300 (1 credit) and TCHNCLCM 497 (2 credits). TCHNCLCM 300 may be taken at any time, but is a prerequisite to TCHNCLCM 497, which must be taken concurrently with EECS 496 and a Major Design Experience (MDE) elective.
  3. Technical Electives. A minimum of 21 additional credits of technical electives are required, selected as follows:
    1. At least 16 of the 21 credits must be in approved Upper Level CS Technical Electives . These are the CS courses listed in this Bulletin at the 300, 400, and 500 levels, excluding EECS 398, 498, 499, 598, and 599. Check with the department for an up-to-date list of approved Upper Level CS elective courses. All 21 elective credits can be Upper Level electives, and students are encouraged to take more than the minimum of 16.
    2. A maximum of 5 of the required 21 technical elective credits may be chosen from the approved Flexible Technical Electives . These are courses in engineering, mathematics, or science that are approved as appropriate for CS students. Check with the department for the current list of approved Flexible Technical Electives. EECS 499 (Directed Study) is accepted as a Flexible elective, but is limited to a maximum of 4 credits; any additional 499 credits count towards free electives.
    3. At least 18 of the 21 elective credits must be in CS courses listed in this Bulletin (or the department CS elective lists) at 200-level and above. This means that if the student takes the minimum number of Upper Level CS Technical Electives, at least 2 credits of the Flexible electives must be in CS courses.

Comprehensive and up-to-date information about the computer science program can be found on the web at:

http://www.eecs.umich.edu/eecs/undergraduate/ugcs/computer_science.html

Honors Concentration. Students wishing to complete an Honors degree in Computer Science must have earned a 3.2 or higher GPA in the five required pre-concentration courses (MATH 115, 116, 215, EECS 203 and 280). Student must also have earned an overall GPA of 3.4 or higher (as required by LSA for Honors), and must have a final concentration GPA in Computer Science of 3.5 or higher.

In addition, the required minimum of 18 credits of electives in Computer Science must be satisfied by Upper-Level CS electives; no Flexible electives can be used to meet this requirement.

How to Major in Computer Science

The following is general advice we often give our students, but we encourage you to meet with a Computer Science advisor at any time to discuss your plans and progress.

  1. Pay careful attention to the rules stated in the concentration requirements. Our program has a very full schedule. Thus mistakes in understanding the requirements can cost you additional academic terms. In case of doubt, please come in for advice at the EECS Undergraduate Advising office, or check the current program requirements on the Departmental web site:
  2. The C grade rule for concentration program courses is very important. Required courses with grades of C- or below must be retaken; concentration electives with grades of C- or below must either be retaken or replaced with a different acceptable elective.
  3. If you are a transfer student, please contact a CS advisor immediately. We make case-by-case decisions on transferred coursework to make sure you get started in our program at the right place. To avoid possibly costly delays, you need to start this process immediately.
  4. Your first goal is to meet the pre-concentration requirements. Taking EECS 203 (Discrete Structures) and EECS 280 (Programming) simultaneously often works well, and these are the two prerequisites for the "gateway" course, EECS 281 (Data Structures and Algorithms). Try to have the Math courses done by the time you complete EECS 203 and 280. If you are having trouble meeting the pre-concentration GPA requirement, it is vital to meet with a CS advisor without delay.
  5. Take EECS 281 as soon as you can, and declare the Computer Science concentration during that academic term. Because the Upper Level CS Electives are open only to declared CS concentrators, declaring at this time will allow you to register for the Upper Level Electives the next academic term, which will help you get the choices you want as you finish the program.
  6. The Laboratory Science requirement is required to get the CS degree, and must be completed by graduation. But you can take these courses at any convenient time; none of them are prerequisites for any required CS courses or Upper Level CS electives.
  7.  If you are interested in Operating Systems and Networks, taking EECS 370 (Computer Organization) at the same time as EECS 281 will enable you to register the next academic term for EECS 482 (Operating Systems) which is the prerequisite for EECS 489 (Networks).
  8. We often advise students to avoid taking more than two courses at the same time that involve a lot of programming work. The advisors can help you make the best selection. Saving some of your LSA requirements for later academic terms can help spread out the workload.
  9.  It is a good idea to save some of the Flexible Technical Elective credits for doing an EECS 499 (Directed Study) course in which you work with a professor on a project of mutual interest. A 499 is especially valuable if you are interested in graduate school. If one of your professors is doing work that is interesting to you, approach him or her to discuss this possibility. It is usually most valuable to do an EECS 499 relatively late in your program, when you have acquired knowledge and skills that contribute to the work, and have a clearer picture of what areas you are most interested in.
  10. All of our Upper Level Electives are challenging and substantial courses, and cover a wide variety of topics in computing. The best way to choose your electives is have an idea about the kind of work or career path you want to pursue after getting your degree, and then choose the electives that will help you do it. EECS faculty in your area of interest are an excellent source of advice. We encourage you to discuss your elective choices with them, or the CS advisors.
  11. The best time to take the Major Design Experience package is as late as possible, no earlier than Fall of your final year. This will take the most advantage of the technical knowledge you have gained in your other courses. To prepare for this, take TCHNCLCM 300 your sophomore or junior year, and then be sure to take TCHNCLCM 497 and EECS 496 in the same term as you take your Major Design Experience elective. TCHNCLCM 497 is supposed to coordinate with the MDE course to give you the most realistic preparation for real-world design and development work, in which communicating your ideas is critical to success. Similarly, EECS 496 will be most useful if taken at the same time as the MDE course.
  12. Caution: There are many EECS courses that are not approved as Computer Science Technical Electives. If a course of interest is not listed in this Bulletin as a CS course, check with the department for the up-to-date list. If a course is not listed as an approved CS elective, it will not be accepted unless an exception is granted by the Chief Program Advisor.
  13. The CS program advisors based in the EECS department do not provide any advice or guidance on meeting LSA requirements. Please review these periodically with an LSA advisor. We recommend that you direct all questions about the CS program requirements to the CS advisors whenever possible.

Computer Science concentration (September 1, 2004 - Summer 2005) +

May be elected as a departmental concentration program; Accredited by the Accreditation Board for Engineering and Technology (ABET)

Concentration Effective: September 1, 2004-Summer 2005 

Pre-Concentration Requirements.

To enroll in the LSA Computer Science (CS) program a student must first complete 5 pre-concentration courses. These are: MATH 115, MATH 116, MATH 215, EECS 203, and EECS 280. Performance in these classes is indicative of student aptitude for the Computer Science program, and students who do not perform well are discouraged from continuing. Students must achieve a 2.7 GPA over all attempts at the 5 pre-concentration courses and have at least a C in each course. Students may not repeat a pre-concentration course more than once (i.e., a maximum of two attempts at a course).

ABET (Accreditation Board for Engineering and Technology) Laboratory Science Requirement. In order to meet accreditation standards for CS degree programs, all students seeking a CS degree must complete a minimum of 12 credits of NS, and this must include a two-term course sequence with laboratories that is required in a science or engineering degree program. An example of such a sequence is PHYSICS 140, 141, 240, 241. Check with the department for an up-to-date list of course combinations that meet this requirement. Credits used to meet this requirement may be counted toward LSA distribution requirements, but cannot be used toward Flexible Technical Electives in the concentration program. Meeting this requirement is mandatory for the CS degree.

Concentration Program. Grades of C or better must be achieved in all courses taken to satisfy the concentration requirements.

  1. Core Courses.
    1. Computer Science: EECS 281, EECS 370, EECS 376, EECS 496.
    2. Probability and Statistics: One of STATS 412, STATS 265/IOE 265, or MATH 425/STATS 425.
    3. Major Design Experience (MDE): A course approved as satisfying the MDE requirement (check with the department for current list of approved MDE courses). This is normally one of Upper-Level CS Technical Electives (see below).

  2. Technical Communications. Three credits, including TCHNCLCM 281 (1 credit) taken concurrently with EECS 281, and TCHNCLCM 496 (2 credits) taken concurrently with EECS 496 and a Major Design Experience (MDE) elective.

  3. Technical Electives. A minimum of 21 additional credits of technical electives are required, selected as follows:
    1. At least 16 of the 21 credits must be in approved Upper Level CS Technical Electives. These are the CS courses listed in this Bulletin at the 300, 400, and 500 levels, excluding EECS 398, 498, 499, 598, and 599. Check with the department for an up-to-date list of approved Upper Level CS elective courses. All 21 elective credits can be Upper Level electives, and students are encouraged to take more than the minimum of 16.
    2. A maximum of 5 of the required 21 technical elective credits may be chosen from the approved Flexible Technical Electives. These are courses in engineering, mathematics, or science that are approved as appropriate for CS students. Check with the department for the current list of approved Flexible Technical Electives. EECS 499 (Directed Study) is accepted as a Flexible elective, but is limited to a maximum of 4 credits; any additional 499 credits count towards free electives.
    3. At least 18 of the 21 elective credits must be in CS courses listed in this Bulletin (or the department CS elective lists) at 200-level and above. This means that if the student takes the minimum number of Upper Level CS Technical Electives, at least 2 credits of the Flexible electives must be in CS courses.

Comprehensive and up-to-date information about the computer science program can be found on the web at: http://www.eecs.umich.edu/eecs/undergraduate/computer_science.html

Honors Concentration. Outstanding students may wish to elect an Honors concentration in Computer Science. Information about Honors requirements can be found in the EECS Undergraduate Advising Office, 3415 EECS and on the departmental web site: http://www.eecs.umich.edu/eecs/undergraduate/computer_science.html

How to Major in Computer Science

The following is general advice we often give our students, but we encourage you to meet with a Computer Science advisor at any time to discuss your plans and progress.

  1. Pay careful attention to the rules stated in the Concentration requirements. Our program has a very full schedule. Thus mistakes in understanding the requirements can cost you additional academic terms. The Laboratory Science requirement is especially important to take into account in your planning; if you do not meet this requirement, you will not be granted a CS degree. In case of doubt, please come in for advice at the EECS Undergraduate Advising office, or check the Departmental web site:
    http://www.eecs.umich.edu/eecs/undergraduate/computer_science.html
  2. The C grade rule for concentration program courses is very important. Required concentration courses with grades of C- or below must be retaken; concentration electives with grades of C- or below must either be retaken or replaced with a different acceptable elective.]
  3. If you are a transfer student, please contact a CS advisor immediately. We make case-by-case decisions on transferred coursework to make sure you get started in our program at the right place. To avoid possibly costly delays, you need to start this process immediately.
  4. Your first goal is to meet the pre-concentration requirements. Taking EECS 203 (Discrete Structures) and EECS 280 (Programming) simultaneously often works well, and these are the two prerequisites for the gateway course, EECS 281 (Data Structures and Algorithms). Try to have the Math courses done by the time you complete 203 and 280. If you are having trouble meeting the pre-concentration GPA requirement, it is vital to meet with a CS advisor without delay.
  5. Take EECS 281 and TCHNCLCM 281 as soon as you can, and declare the Computer Science concentration during that semester. Because the Upper Level CS Electives are open only to declared CS majors, declaring at this time will allow you to register for the Upper Level Electives the next semester, which will help you get the choices you want as you finish the program.
  6. The Laboratory Science requirement is required to get the CS degree, and must be completed by graduation. But you can take these courses at any convenient time; none of them are prerequisites for any required CS courses or Upper Level CS electives.
  7. If you are interested in Operating Systems and Networks, taking EECS 370 (Computer Organization) at the same time as EECS 281 will enable you to register the next semester for EECS 482 (Operating Systems) which is the prerequisite for EECS 489 (Networks).
  8. We often advise students to avoid taking more than two courses at the same time that involve a lot of programming work. The advisors can help you make the best selection. Saving some of your LSA requirements for later semesters can help spread out the workload.
  9. It is a good idea to save some of the Flexible Technical Elective credits for doing an EECS 499 (Directed Study) course in which you work with a professor on a project of mutual interest. A 499 is especially valuable if you are interested in graduate school. If one of your professors is doing work that is interesting to you, approach him or her to discuss this possibility. It is usually most valuable to do a 499 relatively late in your program, when you have acquired knowledge and skills that contribute to the work, and have a clearer picture of what areas you are most interested in.
  10. All of our Upper Level Electives are challenging and substantial courses, and cover a wide variety of topics in computing. The best way to choose your electives is have an idea about the kind of work or career path you want to pursue after getting your degree, and then choose the electives that will help you do it. EECS faculty in your area of interest are an excellent source of advice. We encourage you to discuss your elective choices with them, or the CS advisors.
  11. Caution: There are many EECS courses that are not approved as Computer Science Technical Electives. If a course of interest is not listed in this Bulletin as a CS course, check with the department for the up-to-date list. If a course is not listed as an approved CS elective, it will not be accepted unless an exception is granted by the Chief Program Advisor.
  12. The CS program advisors based in the EECS department do not provide any advice or guidance on meeting LSA requirements. Please review these periodically with an LSA advisor. We recommend that you direct all questions about the CS program requirements to the CS advisors whenever possible.


 

Computer Science concentration (Fall 2002 - Summer 2004) +


May be elected as a departmental concentration program

Concentration Requirements Effective: Fall 2002 - Summer 2004 

Pre-Concentration Requirements

To enroll in the CS-LSA program a student should first complete 5 pre-declaration courses. These are: MATH 115, MATH 116, MATH 215, EECS 203, and EECS 280. Performance in these classes is indicative of student aptitude for the CS program, and students who do not perform well are discouraged from continuing. Students must achieve a 2.7 GPA over all attempts at the 5 prerequisite courses and have at least a - in each course. Students may not repeat a course more than once (i.e., a maximum of two attempts at a course).

Concentration Program. EECS 281, EECS 370, EECS 376, EECS 496 (the new Major Design Experience - Professionalism), and a probability/statistics course (see department for acceptable choices).

Three credits of technical communications, including TCHNCLCM 281 (1 credit) taken concurrently with EECS 281, and TCHNCLCM 496 (2 credits) taken concurrently with EECS 496.

At least 10 credits of approved upper-level CS Electives at the 400-level or above, including a course approved as satisfying the Major Design Experience (MDE) taken concurrently with EECS 496 and TCHNCLCM 496. The Department maintains a list of acceptable MDE courses. A maximum of 4 credits of EECS 499 can be used as technical elective credits and only in the category of flexible technical electives.

At least 8 credits of upper-level flexible technical electives, which are either additional upper-level CS elective courses at the 400 level or above, or courses approved as upper-level flexible technical electives. See department for the current acceptable choices. (Note: The approved electives list for the new CS program is not the same as for the old program.)

At least 8 credits of flexible technical electives, which are courses satisfying either of the previous two elective categories, or approved courses at the 200-level or above that are required by another science, engineering, or math program (see department for acceptable courses).

Comprehensive and up-to-date information about the computer science program can be found on the web at: http://www.eecs.umich.edu/eecs/undergraduate/computer_science.html.

Honors Concentration. Outstanding students may wish to elect an Honors concentration in Computer Science. Information about Honors requirements can be found in the EECS Undergraduate Advising Office, 3415 EECS and on the Departmental web site: http://www.eecs.umich.edu/

Computer Science concentration (Fall 2001 - Summer 2002) +

May be elected as a departmental concentration program

Concentration Effective: Fall 2001-Summer 2002 

Prior Programming Experience. CMPTRSC 280 assumes prior programming experience using decision constructs, iteration, functions, basic I/O, and simple arrays in C/C++. Many students interested in CSE will have had such experience in high school coursework. Engineering students who do not place out Engineering 101 should take Engineering 101 first, and LS&A students who lack prior programming experience should take CMPTRSC 183 before taking 280.

For more information on determining which Computer Science class you should take first, consult the EECS webpage: http://www.eecs.umich.edu

Pre-Concentration Requirements. To enroll in the CS program a student should first complete 5 pre-declaration courses. These are: MATH 115, MATH 116, MATH 215, CMPTRSC 203, and CMPTRSC 280. Performance in these classes is indicative of student aptitude for the CS program, and students who do not perform well are discouraged from continuing. Students enrolling at the University beginning in Fall 2001 in fact must satisfy minimum GPA and course grade requirements in these courses to declare in CS (see department advising materials for details).

Concentration

CMPTRSC 281 (formerly 380), CMPTRSC 370, CMPTRSC 376 (formerly 476), CMPTRSC 496 (the new capstone design course in computing), and a probability/statistics course (see department for acceptable choices).

At least 10 credits of CMPTRSC courses at the 400-level or above, including a course approved as satisfying the Major Design Experience (MDE) taken concurrently with CMPTRSC 496 and TechCom 496. The department maintains a list of acceptable MDE courses. A maximum of 4 credits of CMPTRSC 499 can be used as elective credits across all elective categories combined, except for free electives.

At least 8 credits of advanced electives, which are either additional CMPTRSC courses at the 400 level or above, or courses approved as advanced CS electives. See department for the current acceptable choices. (Note: The approved electives list for the new CS program is not the same as for the old program.)

At least 8 credits of flexible technical electives, which are courses satisfying either of the previous two elective categories, or CMPTRSC courses at the 300-level or above, or approved courses at the 200-level or above that are required by another science, engineering, or math program (see department for acceptable courses).

Three credits of technical communications, including TC281 (1 credit) taken concurrently with CMPTRSC 281, and TC496 (2 credits) taken concurrently with CMPTRSC 496.

Honors Concentration

Outstanding students may wish to elect an Honors concentration in Computer Science. Information about Honors requirements can be found in the EECS Undergraduate Advising Office, 3415 EECS and on the departmental web site: http://www.eecs.umich.edu

Computer Science concentration (Fall 2000-Summer 2001) +

(Effective Fall 2000-Summer 2001)

Prerequisites to Concentration. Computer Science 100, 280, and 303; Mathematics 115, 116, and 215, and two courses in Natural Science (8 credits), designated NS. The NS-designated courses must be outside Computer Science (Division 353), Mathematics (Division 428), Statistics (Division 489), and University Courses (Division 495). To be considered for admission to the concentration, all preconcentration courses must be completed with no grade below C (2.0), and in addition, the six listed Computer Science and Mathematics courses must be completed with grades that average at least B- (2.7). Students not receiving these grades in any of these preconcentration courses are advised to repeat the course before continuing in that sequence. Students are declared into the concentration by a Computer Science advisor ONLY, and only when all of these courses (or their equivalent) have been completed.

Concentration Program.

  1. Computer Science 270, 370, 380, 476, and 482 or 483.
  2. One of Math. 416, CS 477, or Math. 425.
  3. In addition, each student must complete a minimum of four CS or CS-related courses chosen from a Department-approved list. This list is available on the departmental web site. The concentration total will be approximately 37 credits. Courses selected to meet a concentration in Computer Science are chosen in consultation with and must be approved by a concentration advisor. Grades of C or better must be achieved in courses taken to satisfy the concentration requirements.

Honors Concentration. Outstanding students may wish to elect an Honors concentration in Computer Science. The Honors concentration requires that students either complete six CS upper-level electives in lieu of the regular four, or complete four where three of the four are taken as 500-level classes. More information about the specific requirements of the Honors program may be found on the departmental web site.

Advising. The concentration program in Computer Science is structured in such a way that only those students with defined, mature academic interests in Computer Science should elect it. Appointments are scheduled at the EECS Undergraduate Counseling Office, 3415 EECS, or by calling (734) 763-2305.


Are you on track to graduate?

Use My LSA Audit Checklist to check your progress. 


 


College of Literature, Science, and the Arts 500 S. State Street, Ann Arbor, MI  48109 © 2014 Regents of the University of Michigan