Вы находитесь на странице: 1из 3

Syllabus CSci101L Spring 2012 Fundamentals of Computer Programming, 3 Units Section # Section 1 Section 2 Section 3 Instructor: Office #: Office

Phone: Office Fax: E-mail: Web Site: Blackboard: Office Hours: Course # 29900R 29901R 30226R Time & Day 10:30 11:50 AM MW 12:30 1:50 PM TTh 12:00 1:20 PM MW Location ZHS 163 SLH 100 WPH B27

Massoud Ghyam SAL 344 (213) 740-4515 (213) 740-7285 mghyam@usc.edu www-scf.usc.edu/~csci101 blackboard.usc.edu MW 1:20 - 2:20 PM T 3:20 - 5 PM and by appointment (BB will have the most updated office hours)
Problem Solving and Program Design with C++, From Basics through Objects 978-0-7575-7989-9 Massoud Ghyam Kendall Hunt Publishing

Required Text: ISBN: Author: Publisher:

You must be registered in one of the following lab sections:


Lab Section 29902R 29903R 29904R 29905R 29906R 29907D 30374R Day T T Th W Th Th F Time 08:00-09:50 AM 05:00-06:50 AM 10:00- 11:50 AM 05:00-06:50 PM 08:00-09:50 AM 05:00-06:50 PM 02:00-03:50 PM Location SAL109 SAL127 SAL127 SAL126 SAL109 SAL126 SAL 127

To reduce distraction please turn off cell phones, pagers, and players (IPod, Mp3, ...) during the lecture and lab. It is ALLOWED to use your computer for note taking only, please refrain from surfing the web.

All programs must be submitted electronically on Blackboard by 11:50 pm of the due date, OTHER FORMS OF SUBMISSION ARE NOT ACCEPTABLE. Late assignments are not accepted and NO extension or exception is possible. Please make sure to plan your work accordingly. Start your work as soon as possible to avoid losing programming points.

Week 1

Subject Introduction to Computers, Design of Programs Using Algorithm Introduction to UNIX System and EMACS/G-edit Designing Solutions to Computer Solvable Problems Program Development Phases: Analysis, Design of Solution, and Implementation. Data Types: Integer, Real, Character, Boolean Read Introduction to a Simple 'C++' Program, Simple Input/Output Assignment, Formatting, Interactive Input Designing Solution with Conditions Conditional Statements in C++: If Statements, Switch Statement, Conditional operator, Introduction to Debugging Techniques Designing Solutions Using Loops Iterative Statements in C++: While, Do-While, For Introduction to I/O File Streams

Reading Assignment * Read Ch. 1

Read Ch. 2

3 3, 4

Read Ch. 3 Read Ch. 4

4, 5

Read Ch. 5 Read Ch. 5, Notes

6 7 8, 9

Review for Test 1 ** Test 1=> Exact date and location will be announced later Introduction Modular Design : Functions Design Process for large amount of Data, One-Dimension Arrays in C++, Sort and Search, Multi-Dimensional Arrays Introduction to Structures and Classes Read Ch. 6 Read Ch. 7

10 11 12

Read Ch. 8, 9

Review for Test 2 ** Test 2=> Exact date and location will be announced later Introduction to Object Oriented Programming (OOP) Designing classes, Implementing C++ classes. More Object Oriented Programming, Inheritance STL class, Vectors, Strings Pointers, Files, Review for Final Read Ch. 9

13 14 15

Read Ch. 10 Read Ch. 12 Read Ch. 11

* All readings are from Problem Solving and Program Design with C++, From Basics to
Objects and handouts posted on Blackboard.

** Location and exact dates for the exams will be posted on the Blackboard. Exam Schedule: Location and exact dates for the exams will be posted on the Blackboard. Make up for missed exams are not allowed, if you have an emergency contact the instructor in advance for special arrangements. If you need special requirements for taking tests please let me know in advance so I can arrange it. Final Exam: Date: Thursday, May 3, 2012 Time: 11:00 am 1:00 PM Location: Will be posted on the Blackboard.

Assignments and Assessments:


The course grade will be based on the proportion of total possible points earned on exams, homework, quizzes, and programming assignments. Form of Evaluation Proportion 6-8 Short Programs 15% (Each covering material discussed that week) Final Programming project 10% (Large program using all techniques covered during semester) 2 Midterm exams 40% (Each exam is comprehensive) Final Exam 25% Lab Activities 10% (Points are given based on assignments that you do in the lab) Worst case grade scale: Average 95-100 90-94.99 87-89.99 83-86.99 80 82.99 77 79.99 Letter Grade A AB+ B BC+ Average 73 76.99 70 72.99 67 69.99 63 66.99 60 62.99 < 60 Letter Grade C CD+ D DF

Academic dishonesty includes (but not limited to) the following: 1. Giving or receiving information during an exam. 2. Unauthorized or malicious use of computing facilities. 3. Deception or misrepresentation in a student's dealing with the instructor, teaching assistant, or grader. 4. Inappropriate collaboration on or coping of homework assignments. Students are encouraged to discuss the readings with one another, even when the discussion relates to assignments. 5. Plagiarism, the submission of material authored by another person but represented as the students own work. It does not matter whether the original work author gave permission. 6. Any violation of academic integrity standards described in the student conduct code. Students are expected to be familiar with these standards. The instructor, teaching assistant, and grader will make every attempt to detect case of academic dishonesty. Refer to student handbook for complete details. Programming Assignments You will be required to design solutions to the assigned problems and then, write and debug the C++ code to implement the solution. Material discussed in the lecture, lab and covered in the textbook will be used to develop the programs. ABET Course Outcomes I. Understanding of Computer Programming concepts II. Ability to design algorithmic solution to problems III. Ability to convert algorithms to C++ programs IV. Ability to design modular C++ programs using functions and classes V. Ability to design programs with Interactive Input and Output VI. Ability to design programs utilizing arithmetic expressions VII. Ability to design programs utilizing repetition VIII. Ability to design programs utilizing decision making IX. Ability to design programs utilizing arrays and vectors X. Ability to design programs utilizing structures/classes XI. Understanding Software Engineering principles XII. Ability to design programs using file Input and Output XIII. Understand fundamentals of UNIX operating system XIV. Ability to test and verifying programs XV. Ability to develop simple search and sort algorithms

Вам также может понравиться