header-about

Intro Computing at Case

 


The Courses

Starting in Fall 2011, there are two introduction to computing courses offered, with different aims and for different students:

ENGR 131: Elementary Computer Programming

  • A Matlab-based introductory computer programming and problem-solving course

  • Required for:  All engineering majors (except Computer Science and Computer Engineering) and required for some other majors (e.g., physics, math, and biology)

  • Assumes no previous programming experience

  • Course Description: Students will learn the fundamentals of computer programming and algorithmic problem solving.  Concepts are illustrated using a wide range of examples from engineering, science, and other disciplines.  Students learn how to create, debug, and test computer programs, and how to develop algorithmic solutions to problems and write programs that implement those solutions.  Matlab is the primary programming language used in this course, but other languages may be introduced or used throughout.

EECS 132: Introduction to Programming in Java

  • A Java-based, accelerated, and advanced introduction to object-oriented programming

  • Required for: Computer Science (CS) major and minor--both BS and BA, Computer Engineering (CE) major and minor, and Systems Biology major -- all for students starting Fall 2011 or later.

  • Not intended as a general introduction; this is for CS, CE, and other majors that require in-depth programming and will take  EECS 233 (Data Structures) and subsequent programming-oriented courses in the CS and CE curricula.  Prior programming experience would be advantageous, but is not necessary.  Class will proceed at a much accelerated pace versus both ENGR 131 as described above (and as that course was offered in Java before Fall 2011).

  • Course Description: Introduction to computer programming and problem solving with the Java language.  Computers, operating systems, and Java applications; software development; conditional statements; loops; methods; arrays; classes and objects;  object-oriented design; unit testing; strings and text I/O; inheritance and polymorphism; GUI  components; application testing; abstract classes and interfaces; exception handling; files and streams; GUI event handling; generics; collections; threads; comparison of Java to C, C++, and C#.


AP and IB Credit

Advanced Placement (AP):  A score of 4 or 5 on the "Computer Science A" exam allows credit for a total of exactly 3 hours, which may be applied to either* ENGR 131 or EECS 132.

International Baccalaureate (IB):  A score of 5, 6, or 7 for "Computer Science HL" allows credit for a total of exactly 3 hours, which may be applied to either* ENGR 131 or EECS 132.

Notes:
* EECS 132 is required for EECS 233 and for CS (BS and BA), CE, and Systems Biology majors and for CS (BS and BA) and CE minors.

* Students receiving EECS 132 credit could consider EECS 233 or EECS 281; those receiving ENGR 131 credit could consider EECS 281.


Proficiency Exams

Proficiency examinations will be given for ENGR 131 and EECS 132 before the Fall Semester (in August) and Spring Semester (in January).  The ENGR 131 exam is recommended for students who are familiar with elementary computer programming (any language) and who have not received transfer, AP, or IB credit for ENGR 131 or EECS 132.  The EECS 132 exam is recommended for students who are familiar with computer programming in Java and also familiar with object-oriented programming, including in Java and who have not received credit for ENGR 131.

The EECS 132 exam will be administered next as follows:

    Spring 2018 Semester --- 1:00 p.m. Sun. Jan 14, 2018
(Location: OLIN 313)      

The ENGR 131 exam will be administered next as follows:

    Spring 2018 Semester --- 1:00 p.m. Fri. Jan 12, 2018
(Location: OLIN 803)       

Students wishing to take either of the exams must register for them at least 72 hours in advance by emailing the exam coordinators as follows:


History/Motivation

The Case School of Engineering resolved that

Beginning in Fall 2011, ENGR 131 will be modified to have a distinct emphasis on Matlab. Fundamental concepts relating to Computer Science will continue to be part of the ENGR 131 curriculum.

The resolution also allowed the reduction of ENGR core courses by one (on a degree-by-degree basis) "if and only if said degree programs demonstrate exposure ... to the topic elsewhere ... [and that the[ ENGR Core and Undergraduate Studies Committees must both approve ..."  This was done in the case of EECS 132 for the Computer Science and Computer Engineering degrees since it was determined those students needed in in-depth coverage of object-oriented programming to be successful in their required subsequent programming-intensive course work.