DOC PREVIEW
UB CSE 115 - Syllabus

This preview shows page 1-2-3 out of 9 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CSE 115/503 Introduction to Computer Science for Majors I Fall 2009 University at Buffalo Department of Computer Science & Engineering 201 Bell Hall – (716) 645-3180 Syllabus Please read this sheet carefully, and save it for future reference. Instructor Name Office Phone Email Office hours Carl Alphonce 219 Bell 645-3180 ext. 115 [email protected] 11:00 – 11:50 MTWRF or by appointment Course Information Credit hours: 4 (CSE115) or 3 (CSE503) Course Website: http://www.cse.buffalo.edu/ faculty/alphonce/Courses/Fall2009/cse115 Lecture Times: A MWF 13:00 – 13:50 97 Alumni B MWF 9:00 – 9:50 216 NSC C MWF 15:00 – 15:50 222 NSC Recitation Times (all recitations meet in Baldy 21): A1 T 9:00 – 10:50 B1 T 13:00 – 14:50 C1 T 15:00 – 16:50 A2 W 11:00 – 12:50 B2 W 15:00 – 16:50 C2 W 13:00 – 14:50 A3 R 13:00 – 14:50 B3 R 15:00 – 16:50 C3 R 9:00 – 10:50 A4 F 14:00 – 15:50 B4 F 10:00 – 11:50 C4 F 8:00 – 9:50 C5 TDB Course Description This course provides the fundamentals of the field to computer science and computer engineering majors, introducing students to algorithm design and implementation in a modern, high-level programming language. It emphasizes problem-solving by abstraction. Topics include object-oriented design using a formal modeling language; fundamental object-oriented principles such as classes, objects, interfaces, inheritance and polymorphism; simple event-driven programming; data types; variables; expressions; basic imperative programming techniques, including assignment, input/output, subprograms, parameters, sequencing, selection and iteration; the use of aggregate data structures, such as arrays or more general collections; simple design patterns. This course adheres closely to the recommendations of ACM's CC2001 curriculum document for a first semester introductory course. It covers topics from the following knowledge units: PF1 Fundamental programming constructs, PF2 Algorithms and problem-solving, PF5 Event-driven programming, PL1 Overview of programming languages, PL4 Declarations and types, PL5 Abstraction mechanisms, PL6 Object-oriented programming, HC2 Building a simple graphical user interface, SP1 History of Computing, SE1 Software design, SE2 Using APIs, SE3 Software tools and environments. This course is required of all computer engineering students and has a significant relationship with the following ABET program objectives for computer engineering: (a) an ability to apply knowledge of mathematics, probability and statistics, computer science andCSE 115/503 Introduction to Computer Science for Majors I Fall 2009 electrical engineering as it applies to the fields of computer software and hardware (g) an ability to effectively communicate technical information in speech, presentation, and writing (j) a knowledge of contemporary issues It has a strong relationship with the following ABET program objectives for computer engineering: (e) an ability to identify, formulate, and solve hardware and software computer engineering problems using sound computer engineering principles (k) an ability to use the techniques, skills, and modern hardware and software engineering tools necessary for computer engineering practice Schedule of Topics The following is a tentative schedule of topics. A more detailed schedule is maintained on the course website and should be checked often for updates. 2 weeks – Objects and relationships 1 week – Programming with graphics 2 weeks – Methods, parameters, and encapsulation 2 weeks – Arithmetic, selection, and iteration 3 weeks – Inheritance and polymorphism 2 weeks – Collections and iterators Course Objectives At the end of this course, students will be able to independently create a program that uses object-oriented design and its key concepts of encapsulation, inheritance, and polymorphism. Students will also be able to create a program that has a graphical user interface (GUI) and components that the user of the program can interact with (menus, buttons, etc). Students will also be able to identify where and when to use constructs such as selection and iteration in their programs and be able to create and use various types of collections along with iterators in their programs. Prerequisites There are no prerequisites for this course. You do not need previous programming experience to take this course. We do expect that you have used a computer before, to do things like browse the web. Textbooks and Materials The required textbooks for this course are: Carl Alphonce & Adrienne Decker. CSE115 Course Notes [Available free on-line.] Though you may find the following books useful, they are not required: Kathy Sierra & Bert Bates. 2005. Head First Java, second edition, O'Reilly (ISBN: 0596009208) Cay S. Horstmann & Gary Cornell. 2007. Core Java 2 Volume I – Fundamentals, eighth edition, Prentice Hall (ISBN: 0132354764) Additional reading material may be assigned during the course, and will be announced in lecture.CSE 115/503 Introduction to Computer Science for Majors I Fall 2009 Computing Resources You will be provided with a CSE undergraduate computing account. You may use the undergraduate lab facilities in Baldy 21. These facilities are available for use as listed on the course website. They are on card-access - use your UB card to open the door. For your own safety, and to protect the equipment in the lab, do not open or hold the door open in order to allow other people to gain entry to the lab. All students who are authorized to use the lab will be granted card access. The name of the server that you will be connecting to in the lab is styx.cse.buffalo.edu. You have the ability to connect to nickelback.cse.buffalo.edu remotely from other sites, on or off campus. You are expected to become proficient at using the machines in the lab, the Linux operating system, the Java compiler as integrated with Eclipse IDE, and whatever other software development tools the course requires you to use. It is your responsibility to ensure that any programs you write for this course compile using the Java compilers installed on the department's machines. You are also required to read mail sent to your UB e-mail account. Any e-mail communication that you send regarding this course must be sent from either


View Full Document

UB CSE 115 - Syllabus

Download Syllabus
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Syllabus and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Syllabus 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?