CISC2000/2010, Computer Science II and Lab,
Fall 2021

 

 

 

Home

Schedule
  & Notes

Assignments

Syllabus


 

Course Description

A second-level programming course with concentration on object-oriented programming techniques. Topics include: pointers, classes and inheritance, polymorphism, operator overloading and templates.

Prerequisite: CISC1600, Computer Science I and Lab, or equivalent.

Website: http://storm.cis.fordham.edu/harazduk/cs2000

Required Textbook: Big C++: Late Objects, 3rd Edition; Wiley & Sons PublishingWiley book link

Supplemental: Problem Solving with C++, Walter Savitch, Addison Wesley, 9th edition, Amazon link

Section

R02

R03


Lecture:

Tue/Fri 11:30-12:45am,
JMH330

Mon/Thu 10:00-11:15am,
JMH330

Lab:

Wed 11:30-12:45pm,
JMH302

Wed 1:00-2:15am,
JMH302

Instructor: Julie Harazduk

Class Concepts

Key Topics

Basic Array algorithms: selection sort, copy, compare, min, max, find duplicates; memory usage and pointers, c-strings, vectors, structs, class overview (including public and private members), const and static modifiers, inheritance, polymorphism, overloading operators, friends, templates. Storing program components in multiple files.

Core C++ Concepts

  • Review functions and parameter passing, call-by-value, call-by-reference
  • Review Arrays - single and multi-dimension
  • Basic sorting, searching, inserting, deleting in arrays
  • Memory usage, pointers, dynamic allocation
  • STL vectors, strings, c-strings
  • Structs and classes
  • friends, static, const
  • Abstract Data Type
  • Inheritance, Polymorphism, Templates
  • Operator overloading, The Big Three

Key concepts

The step-wise refined approach to problem solving; tracing through program operation; functional decomposition; identifying, using and reporting pre- and post-conditions; data abstraction.

  • Trace through program operation
  • Step-wise refined approach to problem solving
  • Functional decomposition
  • Data abstraction
  • Object-oriented programming
  • Storing program components in multiple files
  • Debugging tools

Key Technical tools

Class Policies

Expectations

Students are expected to spend five to seven hours (not including the lecture and lab section) each week in the assigned reading, homework and lab projects. Students are expected to read the assigned chapter of the textbook before the class and perform the interactive exercises. Vital Stats from the work done in the textbook will be collected twice per semester.

Late Assignments

Submissions turned in late will be penalized. Assignments will not be accepted after they have been returned or reviewed in class. You can write to the instructor to ask for an extension of up to one week for reasons such as illness. There will be 10 tokens that you can use for late days. Some assignments (like the first 2) will not be eligible. Try not to use the late tokens until later in the course when material gets much more complicated.

Attendance

Attendance of lecture and lab section is mandatory. It is important to attend every class, especially once review topics are done. Email me if you must miss class for any reason. This class moves very quickly, especially after midterm. Try to read ahead, even if it’s only looking at the slides. Please actively participate in class since this will make the course more interesting for everyone! Ask questions if you are unsure about something.

Please refer to Fordham's policy on class attendance. The total number of absence (excused or unexcused absences) cannot exceed four.

Additional Policies

  • Communications for the class will take place through my website, Autograder and Blackboard.
  • All the class work you submit should be your own. Failure to cite sources is plagiarism. The internet may be used for doing background research but not to solve homework problems; that is also plagiarism and will be treated as such.
  • Do not scan/photocopy material from the text or slides for use in your homework; recreate it yourself.
  • No late assignments or make-ups without the prior agreement of instructor and without very strong cause.
  • There will be weekly programming assignments. Written assignments will be approximately every two weeks. The written portions should be answered in good English (i.e., complete sentences, correct spelling, etc). There is always programming or program tracing in the written assignments. Make sure to attempt it manually and check your work by creating a program for it.
  • Lab assignments must be submitted on the Autograder to receive credit. Add comments for any part of the program that does't work correctly to receive partial credit.
  • All code should be well written and well documented. Programs will be graded on style as well as functional characteristics such as correctness and efficiency.

Grading Criteria

Final grade is based on the weighted sum of the following course works, with the exception that if one fails the final exam with less than 50%, then one fails the class.


Component

num. of assignment

weight

Note

Lab Projects

Weekly

30%

Grading criteria

Written Assignment

Every 1.5 week

25%

Quizzes

1-2

5%

Midterm

1

15-20%

Final Exam

1

20-25%

Mapping from number grade to letter grade is as follows:

A:100-90, B:90-80, C:80-70, D:70-60, F:60-0