CIS 1.5    Introduction to Programming Using C++     Fall 2009

 

Prof. Eva Cogan  email: cogan_at_sci.brooklyn.cuny.edu   

Webpage: http://www.sci.brooklyn.cuny.edu/~cogan/

My office:  3208N    (718)951-5000   X2046                  

CIS office: 2109N   (718)951-5657                       

 

Required Textbooks

 

  • Problem Solving With C++, Jones and Harrow–Second Edition (See Review page)
  • Workbook for C++, Langsam–Third Edition (See Workbook assignments page)
  • Getting Started – Dev C++ is in your text

 

Course Objectives

 

After successfully completing this course, students will be able to

  • explain the concept of a program (i.e., a computer following a series of instructions) in a high level language being translated by a compiler into machine language and then executed
  • declare a variable with an appropriate data type (character or numeric), initialize the variable, and change its value 
  • use control structures-- a loop to repeat the execution of a series of statements, nested loops, and conditional statements to select one from a series of alternatives
  • write and use a function to perform a subtask 
  • use an array to store multiple pieces of homogeneous data and  a simple class to store multiple pieces of heterogeneous data
  • trace the execution of a program and predict the results of the execution
  • develop an algorithm for a simple task

 

Academic Integrity

 

The faculty and administration of Brooklyn College support an environment free from cheating and plagiarism. Each student is responsible for being aware of what constitutes cheating and plagiarism and for avoiding both.  The complete text of the CUNY Academic Integrity Policy and the Brooklyn College procedure for implementing that policy can be found at this site:  http://www.brooklyn.cuny.edu/bc/policies.  If a faculty member suspects a violation of academic integrity and, upon investigation, confirms that violation, or if the student admits the violation, the faculty member MUST report the violation.

 

Center for Student Disability Services


In order to receive disability-related academic accommodations students must first be registered with the Center for Student Disability Services. Students who have a documented disability or suspect they may have a disability are invited to set up an appointment with the Director of the Center for Student Disability Services, Ms. Valerie Stewart-Lovell at 718-951-5538. If you have already registered with the Center for Student Disability Services please provide your professor with the course accommodation form and discuss your specific accommodation with him/her.

 

There is a tremendous amount of work involved in learning how to program. Depending on your ability and experience, you may need up to 20 hours per week for the programs, reading, exercises, and studying. Don’t take this course now if you don’t have the time due to work, other classes, family or other obligations.

 

Grades

 

50% 2-3 exams

There may be quizzes

No makeup exams. Let me know today if there are dates you can't take exams. The state law regarding non-attendance because of religious beliefs is on p. 53 in the Bulletin.

Several exam questions may be similar to the homework exercises.

 

35% final   

Check schedule of classes. Make sure no conflicts.

Departmental

Cumulative

 

15% assignments and labs

Up to 10 (possibly long) programs. At least 8 may be required in order to get a C or above.

Never hand in code written by anybody else.

Assignments must be submitted before the beginning of class.

5% per class penalty for late submissions. 5% bonus for early submissions.

See Assignments sheet.

 

Most classes will include a lab exercise that must be completed and submitted.

 

Attendance is expected. Class participation may affect your grade.

No individual extra credit assignments to improve your grade.

 

Tutoring

 

There are tutors available in the Learning Center and in the Lab. Tutors may teach you sections of the textbook. They may help you figure out what is wrong with your textbook or workbook exercises. They may help you with the IDE in the beginning (without touching your machine). They may help you figure out what is wrong with your program.  They may help you with the style of your program. They may NOT design your program, figure out the logic, or suggest any code for your program. That is no help to you, only a prescription for failure. Do not submit code that anybody else wrote. Let the tutors work on similar programs from the chapter with you. Once you understand, you do the assignments that you hand in. That’s the last step after you’ve mastered the material (using the aids suggested). You shouldn’t even show them your assignment. You may ask them questions about your program (what? why?). Generally you shouldn’t ask “how?” It’s not easy to help someone without telling them how, but I repeat: That is not help!

 

Online Tutoring

 http://lc.brooklyn.cuny.edu

Click on the CIS 1.5 SmartTutor link. Take a look soon and use it.

 

Homework

 

Become familiar with Dev C++. You can download the latest version from http://www.bloodshed.net/devcpp.html.  It is available in the WEB building and other labs on campus. This will be difficult for one week. It’s no problem once you get used to it.  Work through Getting Started.

 

Read chap 0 and chap 1 of the text.

 

Assignment 0: Hand in a listing and output of prog1d.cpp in Example 1-7 of the textbook. Don’t forget the handcheck and trace, which are the same for this program.  You must submit this, but it will not count toward your average. This is due before the 3rd class, but it is better for you if it is done by the 2nd class. 

 

Assignment 1: Programming Project 25 of Chapter 1 of the textbook. This is due before the 4th class.

 

CIS 1.5 Topics Outline:

 

I Introductory concepts ‑‑ simple programs, declaration and

assignment statements, printing using cout, for loops, simple conditional statements, data types int, char, and double, arithmetic ops, precedence rules, standard library of functions

 

II Reading Data ‑‑ reading using cin, interactive I/O, while loops, if‑else statement, use of files for input/output

 

III Functions ‑‑ introduction to functions in C++, programmer‑defined functions, prototypes, parameters, return types, void and parameterless functions, reference parameters

 

IV Additional Control Structures – do-while loops, nested loops, nested if, data type bool, logical and relational operators (optional: break, continue, and switch statements)

 

V Arrays ‑‑ one‑dimensional arrays, using arrays with functions

 

VI Strings ‑‑ using the C++ string class, string manipulation

using functions of the string class and programmer‑defined functions 

 

VII Sorting and Searching ‑‑ simple sorting and searching algorithms

 

VIII Simple Classes (corresponds to structures in C) ‑‑ defining and using a behavior-less class (a class without member functions)

 

IX Base Systems ‑‑ binary, decimal, and hexadecimal systems

 

X Additional Computer Science Topics ‑‑ compilation and execution, parts of a computer system, history of computing, etc.

 

 

Last modified: Aug 18, 2009 -- Eva Cogan