CSCI 230 MW Syllabus - Edinboro University

advertisement
Edinboro University of Pennsylvania
Department of Mathematics & Computer Science
COURSE
SYLLABUS
Course Number: CSCI 230 MW
Course Title: Principles of Programming II
Semester:
Spring, 2015
Credit Hours: 3
Professor:
Patricia Hillman
Office: Ross 147, 732-1172
hillman@edinboro.edu
http://users.edinboro.edu/hillman
Office Hours:
MW 4:30 – 6:00 TR 11:00 – 12:00
===============================================================
Catalog Description
This course continues CSCI 130. Topics include user-defined data types, data structures
including lists, stacks and queues, several sorting and searching algorithms, pointers, and
introduction to object oriented programming, the standard template library, and
recursion. Implementation of programs will be done in C++.
Prerequisite: a C or better in CSCI130 and CSCI125.
Expanded Description
This course is designed to be a second course in the use of the C++ programming
language. The course will begin with a brief review of functions, as introduced in Principles of
Programming I, and will be followed by the creation of user-defined data types and arrays.
Students will then be exposed to object-oriented software development by using classes.
This will be introduced using the concept of an abstract data type. Additionally, using UML to
design and diagram classes will be presented. Lists and list-based operations will follow the
discussion of classes.
Finally, pointers and linked lists will be taught to expose students to a variety of basic
data structures, such as stacks and queues. Also, students will be introduced to the concept of
recursion. Throughout the semester, emphasis will be placed on appropriate problem-solving
techniques, algorithm development, testing techniques and on the use of proper documentation.
Intended Audience
This course is intended for computer science and management information systems
majors and minors who have successfully completed CSCI 130 Principles of Programming I.
Spring 2015
P age |1
CSCI230.002
Textbook & Materials
 Programming and Problem Solving with C++, 6th Edition
by Nell Dale and Chip Weems
 Two-Pocket Folders for Submitting Your Projects
 3 Large Blue Books for Exams – you will be required to use the Blue books, so
if you arrive to an exam without one, you will be required to purchase one from
me for $1.00
Course Requirements
Grades will be based on:
Attendance and Participation
Exercises and Quizzes
Programming Assignments
2 Exams and a Final Exam
10% of your grade
20% of your grade
30% of your grade
40% of your grade
Grading Scale:
90 – 100
88 – 89
80 – 87
78 – 79
70 – 77
68 – 69
60 – 67
0 – 59
A
B+
B
C+
C
D+
D
F
Course Objectives
On successful completion of CSCI 230, the student should be able to:






Spring 2015
Demonstrate the ability to employ proper design methodologies for programming.
Design and implement a program incorporating various user-defined data types.
Design and implement a program incorporating data structures.
Design and implement abstract data types.
Demonstrate the ability to use an abstract data type.
Describe the algorithm for, characteristics and performance of selected sorting, searching,
and recursive algorithms.
P age |2
CSCI230.002
Tentative Outline
Week
Topic
Resources
1&2
Beginnings – Review of functions,
scoping & expectations
C++ Series 7 Functions Programmers Institute (this is a series of 5 videos)
User-defined data types
Chapter 10
http://www.cplusplus.com/doc/tutorial/other_data_types/
http://www.learncpp.com/cpp-tutorial/47-structs/
Arrays
Chapter 11
Introduction to Arrays in C++
http://www.cplusplus.com/doc/tutorial/arrays/
string ADT vs. cstring
http://cs.stmarys.ca/~porter/csc/ref/c_cpp_strings.html
Classes & Abstraction
Chapter 12
Basic Classes -- Part 1 of 2
Basic Classes -- Part 2 of 2
http://www.tutorialspoint.com/cplusplus/cpp_classes_objects.htm
http://www.learncpp.com/cpp-tutorial/89-class-code-and-header-files/
UML Basics
http://www.tutorialspoint.com/uml/uml_basic_notations.htm
Array-based Lists
Chapter 13
Searching
Sequential Searching
Sorted List
Selection Sort
Binary Search
Binary Search
Pointers & Lists
Chapter 14
An Introduction to Pointers
http://www.cplusplus.com/doc/tutorial/pointers/
http://www.cplusplus.com/doc/tutorial/dynamic/
3&4
4&5
6
7&8
9 & 10
Spring 2015
P age |3
CSCI230.002
11 & 12
Pointers & Lists (cont.)
Chapter 14
http://www.scribd.com/doc/193104374/Cpp-Lernaufgabe-Linked-List
http://www.cs.odu.edu/~cs333/website-latest/Lectures/linkedlists/pages/ar01s01.html
13
Data Structures & STL
Chapter 17
Stack and Queue ADT
http://www.programmingincpp.com/basic-sequence-container-properties.html
http://www.programmingincpp.com/vector-and-list.html
http://www.programmingincpp.com/queue-and-stack.html
Binary Tree ADT
http://www.programmingincpp.com/stl-container-class-set.html
14
Recursion
Chapter 18
Recursive Algorithms
Recursion – Animated examples
15
Final Exam (May 6th)
Spring 2015
P age |4
CSCI230.002
General Expectations:
1. Attendance is imperative. Poor class attendance may result in a lower final grade.
Attendance for examinations is mandatory. The examinations are scheduled to be given on:
Wednesday February 18, 2015
Wednesday April 1, 2015
The final exam will be given on Wednesday May 6, 2015 from 6:00 - 8:00 pm. There will be
NO exceptions to this date and time.
2. All assignments will be given a due date. Students are expected to turn the assignments in by
the due date. Programming assignments will be collected at 6:30 pm on the due date. Late
assignments will not be graded!!! There will be no exceptions to this policy. An
assignment will be considered LATE if you arrive to class late on the day the
assignment is due.
It is a requirement that your programs compile, link and run properly using the Gnu C++
compiler on the Linux server.
Homework assignments must be completed using a word processor and submitted to the
appropriate D2L dropbox. Reading quizzes will be also be completed through D2L. In both
cases, due dates and times will be attached to the dropboxes and quizzes. (A note about ALL
homework assignments: it will be impossible for you to pass this class without completing
the homework assignments!!!!!)
3. All projects are expected to be done by the individual, unless otherwise directed. Cheating
will not be tolerated and will result in a failing grade for the class AND referral to Judicial
Affairs. I will entertain NO excuses for cheating!
4. I will use email to communicate with you about many things outside of the regular class
time. It is imperative that you check your email frequently, therefore I will require you to
check your email regularly and assume that you receive any email message from me within
12 hours of it being sent.
5. A note about classroom behavior!!! It is expected that you attend each class and pay
attention. Please do not interrupt the class by arriving late, leaving early or excusing yourself
during class time. Other disruptive behavior such as sleeping in class, talking with your
classmates, clicking of pens, and gathering your books/papers/backpacks before class is dismissed
will not be tolerated. Make sure ALL CELL PHONES and other electronic devices that
make noise are turned off during class time. We will occasionally use the computers in the
classroom and while doing so, I expect your complete attention during lectures. You
should not be using the computer for any reason during lectures unless I have instructed
you to do so. I will give only ONE VERBAL WARNING, after which I will begin deducting
10 points from exams for each infraction.
Spring 2015
P age |5
CSCI230.002
6. It is my hope that we will engage in discussions about many issues involving computers.
Please respect the right of others to have opinions that may differ from yours.
7. If you are struggling with the material in the class, please make a point to visit me during my
office hours or make an appointment to receive additional help. Because the material builds
on prior content, it is not wise to wait until after midterms to try and “rescue” your grade.
Establishing a tutoring relationship with anyone during the last week of the semester will be
impossible and should not be attempted.
Spring 2015
P age |6
CSCI230.002
Download