CS 0007 Introduction to Computer Programming
1. This is a first course in computer science programming. It is recommended for students intending to major in computer science who do not have the required background for CS 0401. The focus of the course is on problem analysis and the development of algorithms and computer programs in a modern high-level language.
2. Prerequisites: There are no formal prerequisites, but some familiarity with computers in general is assumed of all students.
3. Requirements and Grading: Grading will be based on programming assignments and exams.
4. The required text for this course is Starting Out with Java 5: From Control Structures Through Objects, 6th ed., by Tony Gaddis; Addison-Wesley, Publisher (latest edition). You may use any textbook as long as the material that is listed below is included in the book.
The following topics are covered in the University of Pittsburgh CS 0007 course. Some detail for each topic is also included. Topic 6 should only be covered superficially, to prepare students for CS 0401 should they choose to continue with that course.
1. Introduction
Algorithms Implementing algorithms in Java Why Java? The Web and GUIs
2. Program Fundamentals
Compiling and running Java Lexical elements Data types and variables User input: from keyboard, command-line,file Predefined methods Number types Arithmetic expressions Assignment operators Increment and decrement ops Precedence and associativity
3. Statements and Control Flow
Kinds of statements Boolean expressions The if statement (and if-else) The while statement The for statement Break and continue The switch statement Laws of Boolean Algebra
4. Methods: Functional Abstraction
Method Invocation Static Methods Scope of Variables Top-Down Design Invocation and Call-by-value Recursion Method Overloading2015-2016; updated 5/15
5. Arrays
One-Dimensional Arrays Passing Arrays to Methods Array Assignment Finding Min and Max Simple Sorting Searching an Ordered Array Two-Dimensional Arrays Arrays of Nonprimitive Types
6. Objects: Data Abstraction
String: Using a Standard Class StringBuffer Elements of a Simple Class Access public and private: Data Hiding Constructor Methods Static Fields and Methods Passing Objects: Reference Types Scope Keyword final and constants Arrays of Objects Object-oriented Design
7. Reading and Writing Files
Reading and Writing Text Files Formatting Text Output Reading and Writing Binary Files Detecting end of Input Stream
Additional course credit information for CS 0007:
At the University of Pittsburgh:
Course credits can count in three ways: toward the requirements for a major, toward elective requirements, and/or toward the total number of credits needed to graduate. For this course
Majors: As CS 0007 is a preparatory programming course, it does not fulfill a major requirement in Computer Engineering, Computer Science, or Information Sciences (although it provides preparation for the courses needed for those major requirements).
Electives: Individual Schools and Colleges of the University (such as Engineering, Arts & Sciences, Business, Information Sciences, and so on) have different policies about elective credits and may count this course as an elective. Students interested in studying at the University of Pittsburgh should contact their School/College of interest to see if this course would be counted.
Graduation: This course’s credits count toward the number of credits needed for graduation.
At colleges and universities other than the University of Pittsburgh: students should contact their school/college of interest to see how this course’s credits would be counted.