cs111

5
- 6/6 - NSB A118 Dept. of Computer science Queens College, CUNY Flushing, 11367, NY Tel: 718-997-3497 (o) Fax: 718-997-3513 E-mail: [email protected] Url: http://alpha.cs.qc.edu Dr. Jinlin Chen CS111 Course Syllabus CS111: Algorithmic Problem Solving 1. General Information The Course Name: Algorithmic Problem Solving (CS111) Credit: 3.0 Who: Dr. Jinlin Chen (Instructor), Mr. Gerald Landau (lab instructor) Official Description Introduction to the principles and practice of programming. Topics include primitive data types; concepts of object, class, and method; control structures; arrays; procedures and functions; parameter passing; scope and lifetime of variables; input and output; documentation. Prerequisite(s): MATH 120 or MATH 141 or 151 or equivalent Course Objectives After successful completion of this course, you are expected to be able to Understand basic concept of programming Write basic programs using C++ Understand basic technique of problem solving using a programming language Build necessary programming background for advanced topics in computer science 2. Course Policies Lectures and Lab sessions The course is delivered in two different formats, classroom lectures and lab practices. Classroom lectures focus on basic concepts and theory. Lab sessions focus on code-writing and problem solving in a developing environment, explaining and demonstrating language- specific details not covered in lectures, as well as exercises other than code-writing. Academic Integrity Please be fully aware of maintaining integrity in all of your work. All work must be your own. By submitting work under your name, you are indicating that you have completed the assignment independently. You should not have copied it from others or let others copy your work. Any violation will result in no credit for the affected assignment and may be subject to immediate failure from the course. Attendance Class attendance is one of the most important factors for your success in learning. Course books are only references for the course, and they do not always cover our specific requirements. Interaction in class learning is not substitutable. Therefore, please try to attend

Upload: snoopyflyingace6695

Post on 08-Apr-2015

63 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: cs111

- 6/6 -

NSB A118 Dept. of Computer science Queens College, CUNY Flushing, 11367, NY

Tel: 718-997-3497 (o) Fax: 718-997-3513 E-mail: [email protected] Url: http://alpha.cs.qc.edu

Dr. Jinlin Chen CS111 Course Syllabus

CS111: Algorithmic Problem Solving

1. General Information

The Course Name: Algorithmic Problem Solving (CS111) Credit: 3.0 Who: Dr. Jinlin Chen (Instructor), Mr. Gerald Landau (lab instructor)

Official Description Introduction to the principles and practice of programming. Topics include primitive data types; concepts of object, class, and method; control structures; arrays; procedures and functions; parameter passing; scope and lifetime of variables; input and output; documentation.

Prerequisite(s): MATH 120 or MATH 141 or 151 or equivalent

Course Objectives After successful completion of this course, you are expected to be able to • Understand basic concept of programming • Write basic programs using C++ • Understand basic technique of problem solving using a programming language • Build necessary programming background for advanced topics in computer science

2. Course Policies

Lectures and Lab sessions The course is delivered in two different formats, classroom lectures and lab practices. Classroom lectures focus on basic concepts and theory. Lab sessions focus on code-writing and problem solving in a developing environment, explaining and demonstrating language-specific details not covered in lectures, as well as exercises other than code-writing.

Academic Integrity Please be fully aware of maintaining integrity in all of your work. All work must be your own. By submitting work under your name, you are indicating that you have completed the assignment independently. You should not have copied it from others or let others copy your work. Any violation will result in no credit for the affected assignment and may be subject to immediate failure from the course.

Attendance Class attendance is one of the most important factors for your success in learning. Course books are only references for the course, and they do not always cover our specific requirements. Interaction in class learning is not substitutable. Therefore, please try to attend

Page 2: cs111

- 6/6 -

NSB A118 Dept. of Computer science Queens College, CUNY Flushing, 11367, NY

Tel: 718-997-3497 (o) Fax: 718-997-3513 E-mail: [email protected] Url: http://alpha.cs.qc.edu

Dr. Jinlin Chen CS111 Course Syllabus

the class if possible. If you miss any lectures, make sure you have a copy of the slides which can be found from the course site in Blackboard.

Practicing This course will focus on basic common features of programming languages for problem solving. The best way to learn programming is to write code for real problems. Therefore, it is very important that you have enough time for practicing. The time spent for practicing will pay off generously - you will learn much more by yourself and will be more efficient for your future work.

Communication Discussion board of the course site in Blackboard will be the major tool for our communication. Please try to send technical questions concerning the course via Blackboard. Your questions are the best feedback to the course. You are also encouraged to answer other students' questions in Blackboard. Email will be used ONLY for non-technical issues.

Students with Disabilities If you have a disability that requires special accommodations, please contact both your instructor and Office of Special Services as early as possible in the session.

3. Course Assessment

Projects There will be four projects for this course. Detailed project policy will be specified during lab session by lab instructor.

Exams There will be two CLOSED book exams for this course. There will be NO make-up exam unless an official document is submitted and pre-approved by the instructor.

Quizzes Quizzes are designed to help you better understand what you have learned. The lowest quiz score will NOT be counted towards the course grade. This allows for sickness, emergencies etc. Therefore please do not ask for remedy if you miss one or more quizzes.

Bonus points You will be rewarded up to 5 activity bonus points when determining your final grade. By activity I mean raising good questions in Blackboard, volunteering to solve problems at the Blackboard if prompted, and providing creative suggestions that improve the course, etc.

Time load Attending lectures is only part of the whole learning process. The actual learning also takes place outside the classroom. You are expected to spend about 4-6 hours (or even more) quality time outside the classroom for each lecture. The actual load will vary depending on your background.

Grading Your final score for the course will be determined as follows: Projects (30%) + Quizzes/participation (20%) + Midterm exam (20%) + Final exam (30%) + Bonus points

Page 3: cs111

- 6/6 -

NSB A118 Dept. of Computer science Queens College, CUNY Flushing, 11367, NY

Tel: 718-997-3497 (o) Fax: 718-997-3513 E-mail: [email protected] Url: http://alpha.cs.qc.edu

Dr. Jinlin Chen CS111 Course Syllabus

The final score will be converted to a letter grade using the following scale: A: Score≥90; B+: 87≤Score<90; B: 80≤Score<87; C+: 77≤Score<80; C: 70≤Score<77; D: 60≤Score<70; F: Score<60

4. Books and Tools

Course Textbooks Required:

1. C++ Without Fear Author: Brian Overland Publisher: Prentics Hall ISBN: 0-321-24695-0

Reference:

1. Thinking in C++, Volume 1 (2nd Edition) (You can download it freely at http://www.mindviewinc.com/) Author: Bruce Eckel Publisher: Prentice Hall ISBN: 0139798099

Course Tools Blackboard and computer accounts

The key tool for the course is Blackboard. You need have an effective account to login. We will use Blackboard as the major communication tool during this course, to raise/answer questions and to submit electronic version of the assignments. Make sure that you have correctly registered your email account in your user profile in Blackboard.

Note: accessing the CUNY Central BlackBoard site is through www.cuny.edu. All you need is a Portal ID. To get a Portal ID, go to www.cuny.edu and click on "Log In" at the bottom left. Then click on "Register New User".

Software for the course Visual Studio.net (you can access it in the lab or install it at home. The department hold a site license which can be used freely by students)

Page 4: cs111

- 6/6 -

NSB A118 Dept. of Computer science Queens College, CUNY Flushing, 11367, NY

Tel: 718-997-3497 (o) Fax: 718-997-3513 E-mail: [email protected] Url: http://alpha.cs.qc.edu

Dr. Jinlin Chen CS111 Course Syllabus

5. Tentative Course Schedule (Summer class) (Note: lab session details will be given by the lab instructor)

Lecture Content Note

Lab 1

Unix commands, pine, pico, g++ and a few others to see what is, such as ls, cat. Create hello.cpp using g++ -c followed by g++ -o to stress compile, link, and execute

Lecture 1

Course policy overview, Programming overview C++ overview First simple C++ program

Reading: Ch1 (P1-20)

Lab 2 More unix commands, such as passwd, pico .bash_profile Project 1

Lecture 2

Basic concept of data type, I/O Basic concept of String

Reading: Ch 1(P20-30)

Lab 3 Continued work on project 1. New unix commands make and tar

Lecture 3

Decisions (1) If else True and false while

Reading: Ch 2(P33-51)

Lab 4 Project 2

Lecture 4

Decisions (2) Increment and decrement Statements vs. expressions Boolean logic Math library

Reading: Ch 2 (p51-63)

Lab 5 Project 2

Lecture 5

For loop Reading: Ch. 3

Lab 6

Lecture 6

Midterm exam (close book)

Lab 7

Lecture 7

Functions (1) Concept of function Function calls and program flow Using functions

Reading: Ch 4 (P81-95)

Page 5: cs111

- 6/6 -

NSB A118 Dept. of Computer science Queens College, CUNY Flushing, 11367, NY

Tel: 718-997-3497 (o) Fax: 718-997-3513 E-mail: [email protected] Url: http://alpha.cs.qc.edu

Dr. Jinlin Chen CS111 Course Syllabus

Lab 8

Lecture 8

Functions (2) Local and global variables Recursive functions

Reading: Ch 4 (P95-110)

Lab 9

Lecture 9

Arrays(1) Concept of array Array initialization Array index

Reading: Ch5 (P111-122)

Lab 10

Lecture 10

Arrays(2) Arrays of strings Multi-dimensional array

Reading: Ch5 (P122-137)

Lab 11

Lecture 11

Strings Reading: Ch 7

Lab 12

Lecture 12

Final exam (close book) Room SB C205