You are on page 1of 10

2013-1 Programming Language

Introduction to Programming Language

March 1, 2013

Prof. Young-Tak Kim


Advanced Networking Technology Lab. (YU-ANTL) Dept. of Information & Comm. Eng, Graduate School, Yeungnam University, KOREA
(Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr)

Lecture Overview
Objective
Study the C programming skill for engineering problem solving, C++ Object-oriented programming, and system design & implementation Related practice lab. Prerequisite Courses: Computer and Internet, Computer Programming (C programming)
C/C++ programming practice lab.

Textbook and Major References

[1] Walter Savitch, Kenrick Mock, Absolute C++, 4th Ed, Pearson, 2010. [2] Tony Gaddis, Judy Walters, and Godfrey Muganda, Starting out with C++ - Early Objects, 7th Ed., Addison-Wesley, 2011. [3] Deitel and Deitel, How to Program C++, Prentice Hall, 2005. [4] , C Express, , 2007. [5] Al Kelley and Ira Pohl, A Book on C, 4th Ed., Addison-Wesley, 1998.

Advanced Networking Tech. Lab. Yeungnam University (YU-ANTL)

ch 0 - 2

Programming language Prof. Young-Tak Kim

Lecture Topics (1)

Part 1: Algorithm and Programming


- Introduction to computers and programming - Flow chart and Pseudo code - Algorithm - Software design document

Part 2: Structured Programming


- Making decision: if, if-else, switch - File input, output, printf, scanf - loop: for, while, do-while - Functions - Recursion - Array: searching and sorting - Advanced file and I/O operations - Structure - Dynamic memory allocation - Pointers - Linked list

Advanced Networking Tech. Lab. Yeungnam University (YU-ANTL)

ch 0 - 3

Programming language Prof. Young-Tak Kim

Lecture Topics (2)

Part 3: Object-oriented Programming


- Introduction to object-oriented programming - Introduction to classes and objects - Information hiding - Inheritance and software reuse - Polymorphism, virtual functions - Linked list with C++ classes - Stack and Queues - Binary tree - Standard Template Library (STL)

Advanced Networking Tech. Lab. Yeungnam University (YU-ANTL)

ch 0 - 4

Programming language Prof. Young-Tak Kim

Lectures and practice Labs

3 hours classes per week 2 hours practice Lab. per week 2 hours additional TA explanation class

Examinations, and Reports

3 mid-term examinations and 1 final examination mid-term 1: March 30, 2013 (Sat) mid-term 2: April 17, 2013 (Wed) mid-term 3: May 11, 2013 (Sat) final : June 5, 2013 (Wed) Oral test and Quiz: after each test Homework is assigned for each chapter Each homework must be submitted as separated report

Report due : after 1 week, at lecture classroom only Overdue policy : at each 1 week delay, 20 % reduction from the total score

Advanced Networking Tech. Lab. Yeungnam University (YU-ANTL)

ch 0 - 5

Programming language Prof. Young-Tak Kim

Design Project ( )
4 weeks design project for ABEEK program design document implementation presentation design project report

Evaluation & Grading

Exam 100 x 4 points, Lab. () 200 points, Design Project ( ) 100 points, Class attendance 100 points, Oral test and Quiz 100 points, Report 100 points, (total 1,000 points)

Advanced Networking Tech. Lab. Yeungnam University (YU-ANTL)

ch 0 - 6

Programming language Prof. Young-Tak Kim

Teaching Assistant (TA)


Hyung-Dong Hwang ( ): Advanced Technology Lab. (ANTL, IT Building, Room 304) Telephone : 053-810-3940, Fax : 053-810-4742 E-mail: mch2d@ynu.ac.kr Networking

Lecture homepage: Yeungnam Lecture Assistant System


http://cyber.yu.ac.kr/lecture/index.phtml, (Lecture 1634, 1635)

Advanced Networking Tech. Lab. Yeungnam University (YU-ANTL)

ch 0 - 7

Programming language Prof. Young-Tak Kim

15 Key Topics in Programming with C/C++


<Part 1: C>
1) 5x5 Matrix calculations with 2-dimensional array: addition, subtra ction2, multiplication, determinant, inversion 2) Sorting of 100,000 elements with selection sorting and quick sorti ng; comparisons of execution times 3) Gauss-Jordan elimination for a system of linear equations of 5 un knowns 4) 7x7 Matrix calculations with 2-dimensional dynamic array: additio n, subtraction, multiplication, determinant, inversion 5) Selection sorting of array of structure, Quick sorting of array of st ructure 6) Pointer, linked list, binary tree with C; searching and sorting of lin ked list and binary tree of 100,000 structure elements

Advanced Networking Tech. Lab. Yeungnam University (YU-ANTL)

ch 0 - 8

Programming language Prof. Young-Tak Kim

<Part 2: C++>
7) class and object: class definition and implementation (private data memb er, member function), encapsulation, information hiding 8) operator overloading: +, -, *, /, ==, !=, ++, --, ! (determinant of matrix) , ~ (inverse of matrix) 9) inheritance of classes 10) virtual function and polymorphism 11) Linked and binary tree with C++ class 12) Standard template library (STL)

<Part 3: System Programming>


13) Thread, Mutex (mutual exclusion) 14) Socket (UDP, TCP) programming 15) MFC GUI programming

Advanced Networking Tech. Lab. Yeungnam University (YU-ANTL)

ch 0 - 9

Programming language Prof. Young-Tak Kim

Questions and Answer on the Lecture

Q&A

Advanced Networking Tech. Lab. Yeungnam University (YU-ANTL)

ch 0 - 10

Programming language Prof. Young-Tak Kim

You might also like