CSE102 Computer Programming IIInstitutional InformationDegree Programs Software Engineering (English)Information For StudentsDiploma SupplementErasmus Policy StatementNational Qualifications
Software Engineering (English)

Preview

Bachelor TR-NQF-HE: Level 6 QF-EHEA: First Cycle EQF-LLL: Level 6

Course General Introduction Information

Course Code: CSE102
Course Name: Computer Programming II
Course Semester: Spring
Course Credits:
ECTS
8
Language of instruction:
Course Requirement:
Does the Course Require Work Experience?: No
Type of course: Necessary
Course Level:
Bachelor TR-NQF-HE:6. Master`s Degree QF-EHEA:First Cycle EQF-LLL:6. Master`s Degree
Mode of Delivery: Face to face
Course Coordinator : Ar.Gör. MUHAMMED TAYYİP KOÇAK
Course Lecturer(s): Dr. Öğr. Üyemiz Meryem Uzun Per
Course Assistants:

Course Purpose and Content

Course Objectives: Teaching the effective use of the C programming language
Course Content: Data Types in C Programming Language; Control Statements ; Loops ; Arrays and Pointers ; Multidimensional Arrays ; Pointer
Arrays ; Character Sequences; Dynamic Memory Management ; Functions ; Function Pointers ; Recursive Functions ; Local and
Global Variables; Buildings ; Bitwise Operations; File Operations; C Preprocessors ; Macros ; Data Structures for C; Linked Lists;
Static and Dynamic Libraries

Learning Outcomes

The students who have succeeded in this course;
1) Students will be able to use advanced features of the C programming language.
2) Students will be able to design effective algorithms.
3) Students will have modular programming skills.
4) Students will be able to use the low-level features of the C programming language.
5) Students will be able to write readable and reusable source code.
6) Students will be able to debug their programs.

Course Flow Plan

Week Subject Related Preparation
1) Data Types / Control Statements / Loops in C Programming Language
2) Arrays / Pointers / Arithmetic of Pointers
3) Multidimensional Arrays / Arrays of Pointers / Arrays of Characters / Pointer to Pointers
4) Dynamic Memory Management and Functions
5) Function Pointers / Recursive Functions
6) Local and Global Variables / Storage Classes
7) Structures / Unions / Bitwise Operations
8) Structures / Unions / Bitwise Operations
9) Advanced File Operations
10) C Preprocessors and Macros
11) C Preprocessors and Macros
12) Linked Lists
13) Static and Dynamic Libraries
14) Static and Dynamic Libraries

Sources

Course Notes / Textbooks: Darnell P. A. and Margolis P. E., C: A Software Engineering Approach, 1996 (3rd) edition
Kernighan B. W. and Ritchie D. M., The C Programming Language, Prentice-Hall, 1988.
References: Darnell P. A. and Margolis P. E., C: A Software Engineering Approach, 1996 (3rd) edition
Kernighan B. W. and Ritchie D. M., The C Programming Language, Prentice-Hall, 1988.

Course - Learning Outcome Relationship

No Effect 1 Lowest 2 Medium 3 Highest
       
Program Outcomes Level of Contribution
1) Sufficient knowledge in mathematics, science and software engineering discipline-specific topics; the theoretical and practical knowledge in these areas, the ability to use in complex engineering problems.
2) The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modelling methods for this purpose.
3) The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose.
4) Ability to develop, select and use modern techniques and tools necessary for analysis and solution of complex problems in engineering applications; ability to use information technologies effectively.
5) Ability to design experiments, conduct experiments, collect data, analyse and interpret the results of complex engineering problems or discipline-specific research topics.
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
7) Awareness of the need for lifelong learning; access to knowledge, ability to follow developments in science and technology, and constant self-renewal.
8) Effective communication skills in Turkish oral and written communication; at least one foreign language knowledge; ability to write effective reports and understand written reports, to prepare design and production reports, to make effective presentations, to give clear and understandable instructions and to receive.
9) Conformity to ethical principles, professional and ethical responsibility; Information on standards used in engineering applications.
10) Information on practices in business, such as project management, risk management and change management; awareness about entrepreneurship, innovation; information on sustainable development.
11) Information on the effects of engineering applications on health, environment, and safety in universal and social dimensions, and on the problems of the modern age in engineering; awareness of the legal consequences of engineering solutions.
12) Adequate skills in the analysis, design, verification, evaluation, implementation, implementation, and maintenance of software systems

Learning Activity and Teaching Methods

Course
Labs
Homework

Measurement and Evaluation Methods and Criteria

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Homework
Uygulama

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Midterms 1 % 40
Final 1 % 60
total % 100
PERCENTAGE OF SEMESTER WORK % 40
PERCENTAGE OF FINAL WORK % 60
total % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Activities Number of Activities Aktiviteye Hazırlık Aktivitede Harçanan Süre Aktivite Gereksinimi İçin Süre Workload
Course Hours 14 3 42
Laboratory 14 2 28
Study Hours Out of Class 14 8 112
Midterms 1 20 20
Final 1 25 25
Total Workload 227