Dersin Adı Dersin Seviyesi Dersin Kodu Dersin Tipi Dersin Dönemi Yerel Kredi AKTS Kredisi Ders Bilgileri
INTRODUCTION TO COMPUTER SCIENCE İkinci Düzey YZ 101 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 and to design to understand binary arithmetic logic operations.
3 Ability to learn basics of electricity and electrical devices.
4 Ability to design logic devices and elementary chips, and to understand the hardware design of an ALU device.
5 Ability to design combinational and sequential logic circuits and random access memory (RAM) units.
6 Ability to learn virtual machine (VM) and stack memory operations and to apply basic commands in stack machines.
7 Ability to use a hardware description language and general-purpose programming language to realize design and project activities.
8 Ability to convert high-level language structures into basic commands for stack machines.
9 Ability to create an assembly code for the virtual machine language.
10 Ability to conduct teamwork, create project activities, and give a speech in English in front of an audience.

*Dersin Program Yeterliliklerine Katkı Seviyesi
1 Avrasya coğrafyasını ve bu coğrafyada yaşayan toplumları tanır.
2 Türk Dünyasının tarihini bilir, Türk Dünyasında meydana gelen gelişmeleri takip eder ve varsa sorunlara çözüm üretir.
3 Avrasya bölgesi toplumlarının iktisat, uluslararası ilişkiler, dil, edebiyat, tarih, sanat tarihi, sosyoloji, coğrafya vb. alanlarda ortaya çıkan teorik ve pratik yenilikleri takip edebilmek, bu alanlarda yorum, analiz ve değerlendirme yapar.
4 Türk Dünyasının etkileşimde bulunduğu kültürler üzerine araştırmalar yapar ve bu hususta bilgi ve donanıma sahip olur.
5 Avrasya coğrafyasındaki dil, edebiyat, tarih, sanat, sanat tarihi, sosyoloji, iktisat, işletme, uluslararası ilişkiler, antropoloji vd. alanlarda gelişmiş bir duyarlılık ve birikime sahip olur.
6 Avrasya coğrafyasındaki siyasi, ekonomik ve sosyokültürel sorunlara dair temel bilgilere sahip olur ve bunlara çözüm önerileri sunabilme becerisi kazanır.
7 Avrasya coğrafyasındaki devletlerin birbirleri ile olan çok yönlü ve çok boyutlu ilişkilerini analiz eder.
8 Çağdaş Türk lehçe ve şivelerinden en az birini ileri düzeyde bilir. Rus, Çin, Fars ve Arap dillerinden birini de orta seviyede bilir.
9 Türk dünyasının siyasi ve ekonomik anlamda etkileşimde bulunduğu devletleri tanır ve onlar hakkında yeterli bilgi ve beceriye sahip olur.
10 Türk dünyası başta olmak üzere öteki komşu halkların dil, din, kültür, çevre, etnik ve sosyal sorunlarını tespit ve analiz edecek, çözümler sunacak seviyede bilgi ve becerisine sahip olur.
11 Alanla ilgili bilimsel araştırma projeleri yapabilecek bilgi ve donanıma sahip olmak, problem ve sorunlara çözüm üretecek şekilde model kurma ve hipotez geliştirebilme becerisi kazanır.
12 Bilimsel etik hususunda sorumluluk bilinci kazanır.
13 Avrasya coğrafyasında meydana gelen siyasi ve sosyal olaylara farklı perspektiflerden bakabilme becerisi geliştirir.
14
15
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