CS 0007 Introduction to Computer Programming

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.

发表评论

电子邮件地址不会被公开。 必填项已用*标注