CSC 2100 – Introduction to Problem Solving & Computer

advertisement
CSC 2110 (Section 1) Data Structures/Algorithms
Fall, 2010
Instructor
Office
Email
Class Hours
Location
Office Hours
: Sheikh Ghafoor
: Br 412A
: sghafoor@tntech.edu
: MWF 9:05-10:00
: Bruner 404
: MW 1:30 – 3:00. Apart from the designated office hours, students are
allowed to walk in to my office any time except the following hours:
MWF 9:00-1:30 and Thursday. If I am not busy with any time pressing
work, I will be available for help.
Teaching Assistant: Ruben Viza
Office: Br 414
Office Hours: MW 1:30 – 3:00
Email: raviza42@tntech.edu
Prerequisite:
C or better in CSC 2100.
Corequisites:
CSC 2111 and CSC 1610
Course Webpage:
http://www.csc.tntech.edu/~sghafoor/2110/2110.html
Text:
ADTs, Data Structures, and Problem Solving with C++, Larry Nyhoff, ISBN: 0-13140909-3
Course Description:
This course involves careful examination of abstract data types and fundamental data
structures including stacks, queues, and trees; algorithms to search, sort, and manipulate
data using such structures; and introduction to runtime analysis. Emphasis is given on
understanding and using these data structures by writing computer programs involving
different data structures. This course is the 2nd course in programming course sequence.
A good understanding of pointers, structures and a basic understanding of objects in C++
is required for this course. If you don’t have good understanding of these topics, don’t
worry, I will work with you to get you to the required level.
Course Objectives:
Know different data structures that are used in computer programs.
Understand the need for different data structure such as array, lists, queues, stacks,
trees.
3. Learn how to implement these data structures.
4. Learn to use these data structure in different computer applications
1.
2.
5.
6.
Understand how to perform runtime analysis of a program.
Be able to write intermediate level programs in C++.
Class Participation:
Students are very much encouraged to ask questions and participate in class discussion.
Remember there are no stupid questions only stupid answers. We will use class
performance system or Clicker in this class. At the beginning of every class, there will be
questions based on lessons of previous class and the students will answer anonymously
using their Clickers. You will not be graded for these questions. The whole idea is to let
you and the instructor know how you are doing in the course on a regular basis. You will
be required to buy a clicker ($24) along with your text from the bookstore and you have
to register your clicker online ($9) (www.einstruction.com) or in bookstore ($13).
Expectations :
You can expect the following from me:

I will spend enough time and effort (in and out of class) to help every student to
achieve the course objectives.

I will always return graded assignments and exams promptly.

I will always start and stop class on time.

I will try to make this your best college course ever.
In return, I expect the following from you:

to be on time and prepared to participate fully in class activities.

refer to class web site on a regular basis.

to read ahead the next lesson

to let me know how the class and my teaching can be improved.

be responsible for all materials and information during days you are absent.

to understand and adhere to the CSC & TTU policy of Academic Honesty.
This course is moderately heavy in terms of course load (reading, programming, quizzes,
tests, and assignments). If you are in this course I am assuming that you have made a
commitment to spend enough time and effort for this course throughout the semester
Attendance:
Attendance is required for this course. If you know you will be absent for a legitimate
reason, let the instructor know. If you are sick, bring a doctor’s written excuse to resolve
the absence. You are responsible for all the assignments, home works, tests etc. whether
you are present in the class or not.
Programming Assignments:
There will be about 5 programming assignments during the semester. Projects are to be
completed on your own time outside of class. You will need to start early and budget
sufficient time in the open labs or at home to complete the projects. Projects are due at
the BEGINNING of class on the due date. While a certain amount of consultation
between students in working on an assignment is acceptable, these assignments are to be
individual efforts, the work you submit must be your own. Do not create a difficult
situation by representing someone else's work as your own. Consult the instructor or TA
if you need help with the assignment. The closer to the due date for the assignment,
the less assistance the instructor will be able to provide (due to time constraints). If
the grade in a programming assignment is less than 90, students will be allowed to
resubmit the programming assignment within 5 days of returning the assignment to
students. A student will get half of the difference between the resubmission and original
points back. For example if the student scores 70 points in the original submission and
100 points in the resubmission, then his/her score for the assignment will be 85 (70+
½(100-70)).
Program submission:
 You need to zip all your source code (all header and cpp files, no executable) and
submit it to me and TA via email. The name of your zip file should be
lastname_progX_2110.zip (where X is assignment #, for example my filename
for programming assignment 2 would be ghafoor_prog2_2110.zip. The subject
line of the email must be “CSC 2110 program X submission”.
 A complete report containing all required sections. The format required for the lab
report can be found on the class web page.
 Your program must compile and execute in 207 lab.
Your program will not be graded if
 You don’t send the code to both TA and me
 Subject line of your email is not “CSC2110 program X Submission”
 You don’t submit a printed report.
 Your program doesn’t compile and run on computer in 207 lab.
Late submission:
There will be a 5% penalty/day for up to 7 days. For delays more than 7 days an score of
zero will be assigned.
Quizzes:
There will be an in class quiz every Wednesday at the beginning of the class.
Tests:
There will be 3 in class tests and one final during the semester.
Make-up Tests/Quizzes:
If an absence from a quiz is excused, then the average number of points of the other
quizzes will be substituted for the missed quiz. If the absence is unexcused, the student
will be assigned a score of zero points for the test or quiz. For excused absence from a
test, student should make arrangements with the instructor to take the test at another time.
Academic Conduct:
Cheating, in particular plagiarism, will result in an automatic failure. Don’t do it. Faking
program output counts as cheating! This class (and most CSC classes) requires
problem-solving skills. Thus, if you copy answers from another source you will never
learn how to solve the problems. This deficiency will be painfully obvious to you at later
courses, in professional life and at the time of exams. A first offense of cheating on a test,
exam, or programming assignment will result in a grade of 0 for that particular activity.
Any subsequent offense will result in a grade of F for the course. This includes both the
“Provider” of the information as well as the “Receiver” of the information. Any student
who violates the university’s, department’s, or class’s academic honesty policy will be
reported to the university authority. For details on cheating and plagiarism please refer to
http://www.tntech.edu/studenthandbook/handbook_section4.asp,
http://www.tntech.edu/adp/plag.html
Classroom Etiquette:
Please turn off your cell phones or at least put them in silent mode. Don’t use your laptop
during the class unless instructor asks you to.
Grading Scale:
A=90-100, B=80-89, C=70-79, D=60-69, F= <60
Point Distribution:
Test 1
5%
Test 2
5%
Test 3
15%
Final
25%
Programming Assignments 30%
Quizzes
20%
Total
100%
Special Needs:
Students with special needs requiring accommodations should contact the Office of
Disability Services (ODS). An accommodation request should be completed as soon as
possible, preferably by first week of the course. The ODS is located in the Roden
University Center, Room 112; phone 372-6119.
Tentative Schedule for CSC 2110 – Fall 2010
Week
Chapter
Topic
1
1
Software
Development
/Array and
structure
Review of pointers
and Dynamic
Memory
Allocation
Object and Class
Lists
Lists
Stacks
Queues
2
3
4
5
6
7
4
6
6, 11
7
8
8
9
10
9
10
12
11
12
13
15
13
14
15, 16
Assignment
Tests/Quiz
No class on 6/9
Program 1 Due
Test1 (9/24)
Program 2 Due
Queues, Templates
Recursion
Trees and
Searching
Sorting
More Trees
Program 3 Due
More Trees, Graph
Review
Program 5 Due
Test 2 (10/15)
Program 4 Due
Test 3 (11/24)
Biography:
Sheikh K. Ghafoor is a native of Bangladesh and living in United States since January
1997. He attended University of Dhaka and obtained B.Sc. and M.Sc. in Applied Physics
and Electronics in 1982 and 1985. From 1985 – 1988, he worked as software engineer in
local industry in Dhaka, Bangladesh, developing business applications. From 1989 –
1996, he worked as a faculty in the Department of Computer Science at University of
Dhaka. Dr. Ghafoor obtained his 2nd Masters and Ph. D. in computer science from
Mississippi State University. He worked as a full time Research Associate at Mississippi
State University from 1999 to 2006. Dr. Ghafoor joined the faculty of Tennessee Tech.
University as an Assistant Professor in August 2008.
Dr. Ghafoor has been married for sixteen years to his wife Ambareen. They currently
have one son Reetesh (15) and one Daughter Reethee (4). Dr. Ghafoor enjoys football
(Indianapolis Colts, Mississippi State University) Basketball (LA Lakers, Mississippi
State University), cooking, lying down on the couch, and doing nothing. You may
occasionally see him working out at the Fitness Center as well.
Download