Dersin Adı Dersin Seviyesi Dersin Kodu Dersin Tipi Dersin Dönemi Yerel Kredi AKTS Kredisi Ders Bilgileri
INTRODUCTION TO COMPUTER SCIENCE Birinci Düzey YZ 101 Zorunlu 1 5.00 5.00 Yazdır
   
Dersin Tanımı
Ön Koşul Dersleri -
Eğitimin Dili English
Koordinatör DR. ÖĞR. ÜYESİ FATİH SARIKOÇ
Dersi Veren Öğretim Eleman(lar)ı DR. ÖĞR. ÜYESİ FATİH SARIKOÇ
Yardımcı Öğretim Eleman(lar)ı -
Dersin Veriliş Şekli Formal education
Dersin Amacı This course teaches how to design a computer system from scratch using primitive logic gates. The course starts with defining science, electricity, and logic gates. Then students learn the instruction code and computer architecture. Students are supposed to complete subcomponents of a computer system using a hardware description language code as project activities. Students must also create an assembly language and a compiler program for that language.
Dersin Tanımı INTRODUCTION TO COMPUTER SCIENCE

Dersin İçeriği
1 Science and Scientific Methodology, Science versus Mythology, Electricity in Life.
2 Energy Levels of Atoms, Invention of Transistors and Semi-conductor Devices, Basic Electrical Devices.
3 Boolean Logic Theory, Boolean Functions, Boolean Algebra, design of elementary chips using a hardware description language.
4 Two’s complement method and signed numbers, Arithmetic addition by use of Two’s complement method, Arithmetic Logic Unit (ALU) and function table of ALU.
5 Combinational and sequential logic, Data Flip-Flop (Latch), 1-bit register, 8-bit register memory units, Random Access Memory (RAM).
6 Computer architecture, Address and Data registers, Syntax, and usage of several instruction types (arithmetic, logic branching, etc.)
7 Coding variables and labels in the assembly language, conditional operations in the assembly, Coding loops and iterative processing, Pointer and Array processing in the assembly language.
8 Midterm exam.
9 Basic architecture of the computer including address, control, and data bus communications.
10 Translating the assembly code into the machine code, handling labels, handling variables.
11 Virtual machine (VM). Basic operations (push and pop commands), arithmetic, and logical operations on the stack segment. Abstract memory segments (local, argument, static, constant, this, that, pointer, temp).
12 VM push and pop command operations on the stack and other abstract memory segments. Assembly code of all VM operations (VM translator). Usage of VM emulator.
13 Commands like label, goto, and if-goto in VM code, and their assembly code equivalents, calling a function in VM code, calling a function in assembly code, Definition of a function in VM code, the definition of a function in assembly code.
14 Returning from a function in VM code, returning a function in assembly code, stack segment manipulations while calling, defining, and returning functions, creating a software coding for an assembly compiler.
15 Final exam.
16
17
18
19
20

Dersin Öğrenme Çıktıları
1 Ability to understand and apply scientific methods.
2 Ability to learn basic rules of Boolean algebra.
3 Ability to learn basics of electricity and electrical devices.
4 Logic devices and elementary chips.
5 Ability to design to understand binary arithmetic logic operations, and hardware design of an ALU device.
6 Ability to design combinational and sequential logic circuits and Random Access Memory (RAM) units.
7 Ability to learn virtual machine (VM) and stack memory operations.
8 Ability to apply basic commands in stack machines.
9 Ability to create a compiler program for the assembly language.
10 Ability to use a hardware description language and general-purpose programming language to realize design and project activities.

*Dersin Program Yeterliliklerine Katkı Seviyesi
1 The student will have the ability to apply an analytical approach, mathematics and science knowledge in software and engineering issues.
2 The student will have the ability to identify, define, formulate and solve a problem in software and computer systems.
3 The student will have gains scientific research skills in software and engineering problems, has the ability to design a system, part or process.
4 The student will have the ability to use the design capability, techniques and tools required for engineering applications.
5 The student will have the ability to design, implement and interpret experimental work and software projects by analyzing the results.
6 The student will have the ability to work between disciplines and teamwork.
7 The student will have the ability to work in international environments and adapt to different cultures.
8 The student will have verbal and written communication skills in Turkish and English.
9 The student will have the awareness of the necessity of lifelong learning and the ability to realize it.
10 The student will gain knowledge of legal issues with the awareness of professional and ethical responsibility.
11 The student will have managerial skills (leadership, organization, time and risk management, quality awareness, efficiency, etc.).
12 The student will have the ability to participate in social activities, to acquire regular sports habits and to use time in the best way.
13 The student will have the ability to find unusual ways and produce projects.
14 The student will have professional self-confidence, being an entrepreneur and taking initiative.
15 It is sensitive about the problems of the age and looks after the national interests.
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Yıldızların sayısı 1’den (en az) 5’e (en fazla) kadar katkı seviyesini ifade eder

Planlanan Öğretim Faaliyetleri, Öğretme Metodları ve AKTS İş Yükü
  Sayısı Süresi (saat) Sayı*Süre (saat)
Yüz yüze eğitim 14 3 42
Sınıf dışı ders çalışma süresi (ön çalışma, pekiştirme) 14 1 14
Ödevler 14 2 28
Sunum / Seminer hazırlama 1 4 4
Kısa sınavlar 0 0 0
Ara sınavlara hazırlık 1 10 10
Ara sınavlar 1 1 1
Proje (Yarıyıl ödevi) 1 4 4
Laboratuvar 12 1 12
Arazi çalışması 0 0 0
Yarıyıl sonu sınavına hazırlık 1 10 10
Yarıyıl sonu sınavı 1 1 1
Araştırma 2 4 8
Toplam iş yükü     134
AKTS     5.00

Değerlendirme yöntemleri ve kriterler
Yarıyıl içi değerlendirme Sayısı Katkı Yüzdesi
Ara sınav 1 20
Kısa sınav 0 0
Ödev 1 20
Yarıyıl içi toplam   40
Yarıyıl içi değerlendirmelerin başarıya katkı oranı   40
Yarıyıl sonu sınavının başarıya katkı oranı   60
Genel toplam   100

Önerilen Veya Zorunlu Okuma Materyalleri
Ders kitabı Nisan, Noam, and Shimon Schocken. The elements of computing systems: building a modern computer from first principles. MIT press, 2021.
Yardımcı Kaynaklar https://www.nand2tetris.org/ and https://www.coursera.org/learn/build-a-computer

Ders İle İlgili Dosyalar