COURSE PASSPORT Object-Oriented Programming (C++) NETB15

advertisement
COURSE PASSPORT
Object-Oriented Programming (C++)
NETB151 and NETB161
Lecturers: Nikolay Kirov, Emil Kelevedzhiev
e-mail: nkirov@nbu.bg, keleved@math.bas.bg
1. COMPETENCES:
Students successfully finished this course will:
1) know:







Pointers and Memory Allocation and Deallocation
Inheritance, Base and Derived Classes, Polymorphism
The Inheritance Hierarchy of Stream Classes, String Streams, Random Access
The Software Life Cycle, Relationships between Classes, Implementing Associations, Examples
Basic Sorting Algorithms, Analyzing the Sorting Algorithms
Linked Lists
Operator Overloading, Automatic Memory Management, Templates, Nested Classes and Name
Spaces, Exception Handling
2) be able to:







Testing and Debugging
Using Pointers
Writing classes
Reading and Writing Text Files
Making Object Oriented Design, Software Life Cycle, CRC Cards, Implementing Associations
Writing and Analyzing Sorting Algorithms
Implementing Linked Lists, Stacks and Queues
2. MAIN TOPICS
1. Testing and Debugging
Unit Tests, Selecting Test Cases, Test Case Evaluations, Assertions, Program Traces, The Debugger,
Strategies, Debugger Limitations
2. Pointers
Pointers and Memory Allocation, Deallocating Dynamic Memory, Common Uses for Pointers, Arrays
and Pointers, Pointers to Character Strings
3. Inheritance
Base and Derived Classes, Calling the Base-Class Constructor, Calling Base-Class Member Functions,
Polymorphism
1
4. Streams
Reading and Writing Text Files, The Inheritance Hierarchy of Stream Classes, String Streams, Command
Line Arguments, Random Access
5. Object Oriented Design
The Software Life Cycle, CRC Cards, Cohesion, Coupling, Relationships between Classes, Implementing
Associations, Example: Printing an Invoice, Example: An Educational Game
6. Recursion
Triangle Numbers, Permutations, Thinking Recursively, Recursive Helper Functions, Mutual Recursion,
The Efficiency of Recursion
7. Sorting and Searching
Selection Sort, Profiling the Selection Sort Algorithm, Analyzing the Performance of the Selection Sort
Algorithm, Merge Sort, Analyzing the Merge Sort Algorithm, Searching, Binary Search, Searching and
Sorting Real Data
8. An Introduction to Data Structures
Linked Lists, Implementing Linked Lists, Stacks and Queues, Other Standard Containers, Standard
Algorithms
9. Advanced C++ Topics
Operator Overloading, Automatic Memory Management, Memory Management for Linked Lists,
Templates, Nested Classes and Name Spaces, Exception Handling
3. RECOMMENDED TEXTBOOKS
Cay Horstmann, Computing Concepts with C++ Essentials, Third Edition, Wiley, 2003.
4. TEACHING FORMS
Each topic includes one or two lectures.
5. FORM OF EVALUATION AND COMPETENCE ASSESSMENT
NETB151
Tests
Homeworks
Practice
Written exam
Oral exam
Curren evaluation
40%
30%
30%
0%
0%
NETB161
Exam
40%
0%
20%
20%
20%
Homeworks
Practice
2
Curren evaluation
Exam
30%
70%
30%
70%
6. CURRENT CONTROL AND SCHEDULE
NETB101 NETB111
Week No,
current
current
after topic
evaluation evaluation
NETB101 NETB111
exam
exam
Test 1
NETB151 10
-
5, Inheritance
-
-
Test 2
NETB151 10
-
10, Recursion
-
-
Final Test
NETB151 20
-
15, Advanced C++
Topics
40
-
Homework 1
NETB161 10
10
4-5, Inheritance
-
10
Homework 2
NETB161 10
10
8-9, Object-Oriented
Design
-
10
Homework 3
NETB161 10
10
14-15, Advanced C++
Topics
-
10
Exam of practice 1 NETB161 10
10
6, Inheritance
-
-
Exam of practice 2 NETB161 10
10
11, Recursion
-
-
Final exam of
practice
NETB161 10
50
15, Advanced C++
Topics
20
70
Written exam
NETB151 -
-
-
20
-
Oral exam
NETB151 -
-
-
20
-
Extra points*
both
till 5
till 5
-
-
-
100
100
-
100
100
Total:
Points (or %)
Grade
90-100
Excellent 6
76-89
Very good 5
60-75
Good 4
50-59
Satisfactory 3
0-49
Poor 2
7. ADDITIONAL EXPLANATION ON THE EXAMINATION MATERIALS AND EVALUATION
CRITERIA
Obliged attendance of the lessons – minimum 80% (24 hours per each subject = 48 hours from 60)
http://www.math.bas.bg/~nkirov/2005/netb151
/N. Kirov/
3
Download