Computer Science E-10b: Introduction to Computer Science Using Java, II Handout #1I. OverviewComputer Science E-10b is the second half of a two-semester introduction to computer science using the Javalanguage. The official prerequisite for this course is Computer Science E-10a, which covers the fundamental principles of object-oriented programming using Java; however, students who are experienced in other languages (e.g., C++or even C) may be able to succeed in this course if they master elementary Javaduring the first week or two. This means that by mid-February all registered students are expected to be comfortable with designing, coding and debugging programs of modest complexity while employing good programming style in the Javalanguage. In particular, we presume that enrolled students are already competent at writing Javacode that contains iterative and conditional control structures, parameter passing, elementary class declarations/object creation, and single-dimensioned array manipulation.In CSCI E-10b you will write larger and more complex programs than in CSCI E-10a, including (at least for the graduate-credit students) a significant original term project. Most of the problem sets will involve programming on a Unix/Linux environment using the 1.7(or greater) implementation of the Javalanguage. You can use your own personal computer for much of the course work, but we’ll have more to say about that in lecture.The main emphasis of CSCI E-10b is on learning the principles and practices of object-oriented programming (OOP), which includes the design and implementation of abstract data types (ADTs) such as stacksand queues. After a quick review of Javabasics, we continue with recursive processes, bit manipulation, inheritance mechanisms and interface design, exception handling, and file and stream I/O. We then turn our attention to the design and implementation of Spring, 2017Dr. H. H. Leitner
Computer Science E-10b: Introduction to Computer Science Using Java, II Page 2graphical user interfaces (GUIs) and related topics, such as event-handling, drawing and threading. We also touch on such data structures as singly linked-lists. The last unit of this course is concerned with the MIPS “RISC” architecture; at this point you will learn an assembly language and come to understand the underlying structure or “architecture” of a typical digital computer, including the low-level representation of diverse types of data.Although we believe the content of CSCI E-10b is fairly straightforward, this is one of those computer courses in which the problem sets can be somewhat time-consuming. It is not unusual for students to spend as many as 10-15 (or more) hoursper week, on the average, doing the homework.If you have other major time commitments(e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then you might wish to reconsider whether or not to take Computer Science E-10b. You have been warned!
- Fall '17
- Computer Science