COURSE PASSPORT
NETB101 Introduction to Programming (C++)
NETB121 Programming Language C++
Credits:
3
for
NETB101
and
3
for
NETB121
Department Informatics
Lecturers: Assoc. Prof. PhD
Nikolay Kirov (NETB101), Assist.
Prof.
PhD
Lasko
Laskov (NETB121)
e-mail:
nkirov<at>nbu.bg,
llaskov<at>nbu.bg
We will maintain a course homepage that will contain links to all
course handouts and some supplementary materials. The URL for this
course
is
http://nikolay.kirov.be/2012/NETB101/index.html
(and mirror: http://www.math.bas.bg/or/nkirov/2012/NETB101/index.html)
which you may want to save as a bookmark in your web browser.
1. COMPETENCES:
In this course we will cover the fundamentals of the C++ programming
language. As Cay Horstmann points out, "It is impossible to teach all
of C++ to beginning programmers in one semester. This book [and course]
purposefully omits several useful but technically complex C++
topics...''
We'll be covering built-it types, flow control, functions, objects,
classes and
vectors.
Students successfully finished this course will:
1) know
Number Data Types, Input and Output Operators, Assignment Operator,
Strings Basic Control Flow, Operators, Functions and Procedures,
Variable
Scope and Global Variables, Stepwise Refinement, Testing and Debugging,
Using Vectors and Arrays to Collect Data Items
2) be able to
Writing Simple Programs in C++
Constructing and Using Objects
Writing Functions
Using Vectors and Arrays
2. MAIN TOPICS
Introduction
What is Programming? The Anatomy of a Computer. Machine Code and
Programming Languages. Becomes Familiar with Your Programming
Environment. Analyzing Your First Program. Errors. Problem Solving:
Algorithm Design
Fundamental Data Types
Variables. Arithemtic. Input and Output. Problem Solving: First Do It
by Hand. Strings.
Decisions (Basic Control Flow)
The if Statement. Comparing Numbers and Strings. Multiple Alternatives.
Nested Branches. Problem Solving: Flowcharts. Problem Solving: Test
Cases. Boolean Variables and Operators. Application: Input Validation.
Loops
The while Loop. Problem Solving: Hand-Tracing. The for Loop. The do
Loop. Processing Input. Problem Solving: Storyboards. Common Loop
Algorithms. Nested Loops. Random Numbers and Simulations.
Functions
Functions as Black Boxes. Implementing Functions. Parameter Passing.
Return Value. Functions without Return Values. Problem Solving:
Reusable Functions. Problem Solving: Sterwise Refinement. Variable
Scope and Global Variables. Reference Parameters. Recursive Functions.
Arrays and Vectors
Arrays. Common Array Algorithms. Arrays and Functions. Problem Solving:
Adapting Algorithms. Problem Solving: Discovering Algorithms by
Manipulating Physical Objects. Two-Dimensional Arrays. Vectors.
3. RECOMMENDED TEXTBOOKS
A. Textbook
Cay Horstmann, C++ For Everyone, 2nd
Edition, Wiley, 2011.
B. Useful textbooks
Cay Horstmann, Computing Concepts with C++ Essentials, Third
Edition,
John Wiley & Sons, 2003.
C. Useful textbooks in Bulgarian
[1] Кай Хорстман, Принципи на програмирането със С++, ИК Софтех, София,
2000, 2003 [translation from second edition].
[2] Николай Киров, Сборник от учебни материали по ВЪВЕДЕНИЕ В
ПРОГРАМИРАНЕТО,
Деметра, София, 2003.
[3] Николай Киров, Сборник от учебни материали по ПРОГРАМИРАНЕ И
СТРУКТУРИ
ОТ ДАННИ, Деметра, София, 2004.
4. TEACHING FORMS
Each topic includes:
- Lectures: NETB101
- Workshop: NETB121
5. FORM OF EVALUATION AND COMPETENCE ASSESSMENT
NETB101
Tests
Homeworks
Practice
Written exam
Oral exam |
current Evaluation
40%
30%
30%
0%
0% |
Term Exam
40%
0%
20%
20%
20% |
|
NETB121
Homeworks
Practice |
current Evaluation
30%
70%
|
Term Exam
30%
70%
|
|
6. CURRENT CONTROL AND SCHEDULE
|
|
Points for NETB101
Current Evaluation
|
Points for NETB121
Current Evaluation
|
Week No.
|
|
Points for NETB101
Term Exam
|
Points for NETB121
Term Exam
|
Test_1 |
NETB101 |
10 |
- |
5
|
|
- |
- |
Test_2 |
NETB101 |
10 |
- |
10
|
|
- |
- |
Final Test |
NETB101 |
20 |
- |
15
|
|
40 |
-
|
Homework_1 |
NETB121 |
10 |
10 |
6
|
|
- |
10
|
Homework_2 |
NETB121 |
10 |
10 |
11
|
|
- |
10
|
Homework_3 |
NETB121 |
10 |
10 |
15 |
|
- |
10
|
Exam of Practice_1 |
NETB121 |
10 |
10 |
6 |
|
- |
- |
Exam of Practice_2 |
NETB121 |
10 |
10 |
11 |
|
- |
- |
Final Exam of Practice |
NETB121 |
10 |
50 |
15 |
|
20 |
70 |
Written Exam |
NETB101
|
- |
- |
- |
|
20 |
- |
Oral Exam |
NETB101 |
- |
- |
- |
|
20 |
- |
Extra Points* |
both |
max 5 |
max 5 |
- |
|
- |
- |
Total: |
|
100 |
100 |
- |
|
100 |
100 |
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/or/nkirov/2012/NETB101/ and http://nikolay.kirov.be/2012/NETB101/