مبانی کامپیوتر و برنامه سازی

پاییز ۹۶

Fundamentals of Programming - Fall 2017


Instructors:

Teaching Assistants:

References:

Schedule


Topic

Material

Week 1

  • Introduction to Computer Programming and Applications,

  • Basic Computer Architecture

Lecture 1 - Slides


Lecture 2 - Slides

Week 2

  • Binary numbers, Integer number representation, Hex numbers, unsigned integer, sign bit, one's complement, two's complement

  • Floating point representation

Lecture 3 - Slides


Lecture 4 - Slides

Week 3

  • Introduction to algorithms and flowcharts

Lecture 5 - Slides


Lecture 6 - Slides

Week 4

  • More on flowcharts

  • Introduction to C

  • Arithmetics in C

Lecture 7 - Slides


Lecture 8 - Slides

Week 5

  • Decision Making

  • Loops

Lecture 9 - Slides


Lecture 10 - Slides

Week 6

  • printf & scanf

  • Operators and precedence

  • Switch-case

  • Logical Operators

Lecture 11 - Slides


Lecture 12 - Slides

Week 7

  • C Functions

  • C Standard Library

  • Math functions

  • Writing functions

  • Function prototypes

  • C preprocessor

  • Random number generation

Lecture 13 - Slides


Lecture 14 - Slides

Week 8

  • variable scopes, recursion, call stack

  • static variables

  • Tower of Hanoi

Lecture 15 - Slides


Lecture 16 - Slides


Midterm Exam (Persian) - امتحان میانترم

Midterm Exam - Key جوابهای‌میانترم

Week 9

  • C arrays

  • C characters, ASCII coding, C strings

  • Passing arrays to functions

Lecture 17 - Slides


Lecture 18 - Slides

Week 10

  • Sorting arrays, bubble sort

  • Searching arrays, linear and binary search

Lecture 19 - Slides


Lecture 20 - Slides

Week 11

  • 2D arrays

  • Matrix multiplication

  • ND arrays

Lecture 21 - Slides


Lecture 22 - Slides

Week 12

  • Introduction to Pointers

  • Pointers and Arrays

  • Pointer arithmetic

Lecture 23 - Slides


Lecture 24 - Slides

Week 13

  • Arrays of pointers

  • pointer to functions

Lecture 25 - Slides


Lecture 26 - Slides

Week 14

  • Character & String processing

  • Streams

Lecture 27 - Slides


Lecture 28 - Slides

Week 15

  • C structures

  • Bit Operations

Lecture 29 - Slides


Lecture 30 - Slides

Week 16

  • File processing

  • Dynamic memory allocation

Lecture 31 - Slides


Lecture 32 - Slides


Final Exam (Persian) امتحان پایانترم

Final Exam - Key جوابهای پایانترم