0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
179 tayangan16 halaman
This document provides an overview and summary of the syllabus for COMS W1004 Introduction to Computer Science and Programming in Java. It outlines the course objectives to learn Java programming skills, computer science fundamentals, and algorithmic problem solving. It describes assignments, grading, textbooks, and academic honesty policies. It also defines key terms like algorithms and computer science. Finally, it presents the linear search algorithm in pseudocode as the first example algorithm to be learned.
This document provides an overview and summary of the syllabus for COMS W1004 Introduction to Computer Science and Programming in Java. It outlines the course objectives to learn Java programming skills, computer science fundamentals, and algorithmic problem solving. It describes assignments, grading, textbooks, and academic honesty policies. It also defines key terms like algorithms and computer science. Finally, it presents the linear search algorithm in pseudocode as the first example algorithm to be learned.
This document provides an overview and summary of the syllabus for COMS W1004 Introduction to Computer Science and Programming in Java. It outlines the course objectives to learn Java programming skills, computer science fundamentals, and algorithmic problem solving. It describes assignments, grading, textbooks, and academic honesty policies. It also defines key terms like algorithms and computer science. Finally, it presents the linear search algorithm in pseudocode as the first example algorithm to be learned.
Course objectives Course information Textbooks Syllabus Assignments and Grading Academic Honesty Preliminary Definitions Linear Search Pseudocode Reading Course Objectives Java programming Skills
Knowledge of the fundamental concepts in computer science
Algorithmic problem solving capabilities Course Information Course information may be found on courseworks at: https://courseworks.columbia.edu
Please look there for answers to your questions and make use of the Piazza discussion board. Textbooks We will use two textbooks in this course. Both are Available at the Columbia University Bookstore in Lerner Hall.
Big Java Late Objects (1st Edition) by Cay Horstmann
Invitation to Computer Science (6th Edition) by G. Michael Schneider and Judith L. Gersting Syllabus Introduction to algorithms and algorithmic problem solving Java basics Using classes in Java Iteration and conditionals in Java Boolean logic and elementary circuit construction Introduction to Computer Organization Midterm Software testing Arrays and Array Lists Computer Networks Beyond the basics in Java programming: Interfaces Inheritance I0 and exceptions Models of Computation Assignments and Grading There will be 5 to 6 two-part homework assignments. Your grade will be determined using the following guideline: 35% homework 25% midterm exam (October 22) 40% final exam Academic Honesty You are encouraged to verbally discuss the classroom material and homework problems among yourselves, the TAs and the instructor.
You are expected to write-up the problem sets and do all programming by yourself
Do not copy anyone elses work
HTTP://www.cs.columbia.edu/education/honesty for a description of the departments academic honesty policy Emerging Scholars Program Learn about CS as a problem solving discipline. See the Big Picture 1-point class, no programming Because its where the cool kids hang out http://www.cs.columbia.edu/esp/ Preliminary Definitions Algorithm:
Dictionary Definition: A procedure for solving a mathematical problem in a finite number of steps that frequently involves repetition of an operation; broadly: a step-by-step method of accomplishing some task. Preliminary Definitions Algorithm:
Textbook Definition: A well-ordered collection of unambiguous and effectively computable operations that when executed produces a result and halts in a finite amount of time. Preliminary Definitions Computer Science
Textbook Definition: The study of algorithms including
Their formal and mathematical properties Their hardware realizations Their linguistic realizations Their applications
Your first Algorithm Linear Search: (also called sequential search)
Algorithm to determine whether a given name x appears on a list.
Input: A list of n 1 names A[1], A[2], ... , A[n], and a given name x.
Output. The message "Sorry, x is not on the list" if x is not on the list. Otherwise, the message: "x occurs at position i on the list."
Pseudocode A programming language is a notation for specifying instructions that a computer can execute Every (programming) language has a syntax and a semantics Syntax specifies how something is said (grammar) Semantics specifies what it means Pseudocode is an informal programming language with English-like constructs modeled to look like statements in a Java-like language Anyone able to program in any computer language should understand how to read pseudocode instructions. When in doubt just write it out in English.
Your first Algorithm Here are the instructions for linear search written in pseudocode:
found = "no"; i=1; while (found == "no" and i <= n) { if (A[i] == x) { found = "yes"; location = i; } i++; } if (found == "no") { print ("Sorry, " + x + " is not on the list"); } else { print (x + " occurs at position " + location + " on the list"); }
Reading Chapters 1 and 2 in Schneider and Gersting