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 Applies engineering knowledge related to mathematics, science, basic engineering, and computer-based calculations to solve engineering problems.
2 Gains the ability to develop engineering solutions using discipline-specific knowledge and methods.
3 Defines complex engineering problems and formulates them using fundamental science and engineering knowledge.
4 Defines and analyzes solutions to problems, taking into account the UN Sustainable Development Goals.
5 Designs creative solutions to complex engineering problems.
6 Gains the ability to design complex systems, processes, devices, or products by considering realistic constraints in the engineering problem-solving process.
7 For the analysis and solution of complex engineering problems, selects and effectively applies appropriate methods, techniques, resources, and modern engineering and computing tools, including estimation and modeling.
8 Aware of the limitations of the methods, techniques, and IT tools used, it produces and implements appropriate solutions.
9 Conducts literature research to examine complex engineering problems and collects data within the scope of these studies.
10 Using research methods, the student designs and conducts experimental or applied studies, analyze and evaluate the results.
11 Within the scope of the UN Sustainable Development Goals, the student is knowledgeable about the impacts of engineering solutions on society, health and safety, the economy, sustainability, and the environment, and analyze these impacts.
12 Gains awareness of the legal consequences of engineering solutions.
13 The student acts in accordance with professional principles and legal regulations in engineering practice and acquires knowledge about ethical responsibilities.
14 Gains awareness about non-discrimination, impartiality, and inclusiveness of diversity.
15 Gains the ability to work effectively as an individual, team member, or team leader in intra-disciplinary or multi-disciplinary team projects.
16 Gains the ability to communicate effectively in technical matters, both verbally and in writing by taking into account the differences in the target audience''s education, language, and profession.
17 Gains the ability to apply project management principles, perform time and resource planning, and conduct economic feasibility analysis.
18 Gains awareness about entrepreneurship and innovation.
19 Gains the ability to adapt to new and emerging technologies and to evaluate technological changes with a questioning and critical perspective.
20 Gains the ability to independently and continuously learn new knowledge and skills.
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