Skip to content

Commit 4c31c33

Browse files
Mutti499doganulus
andauthored
Add content for the Fourth year undergraduate courses (#70)
Co-authored-by: Dogan Ulus <dogan.ulus@bogazici.edu.tr>
1 parent 02eb5a5 commit 4c31c33

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1018
-20
lines changed

content/courses/cmpe425.en.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,41 @@ aliases:
77
- undergraduate/courses/cmpe425
88
---
99

10+
{{< under-construction-warning >}}
11+
12+
## Course Information
13+
14+
<!-- prettier-ignore-start -->
15+
{{< table class="table-hover table-sm" >}}
16+
|||
17+
| :-- | :-- |
18+
| Faculty | Faculty of Engineering |
19+
| Course Code | CMPE425 |
20+
| Course Title | Compiler Design |
21+
| Language of Instruction | English |
22+
| Course Semester | Spring |
23+
| Course Hours | Lecture: 3, PS:0, Labs: 0 |
24+
| Course Credits | 3 |
25+
| ECTS | 6 |
26+
| Grading Mode | Letter Grade |
27+
| Prerequisites | CMPE 260 |
28+
| Corequisites | None |
29+
30+
{{< /table >}}
31+
<!-- prettier-ignore-end -->
32+
1033
## Catalog Description
1134

35+
Overview of the compilation process. Lexical analysis, regular expressions, finite automata and lexical analyzer generators. Symbol tables. Grammars. Top-down and bottom-up syntax analysis. Recursive-descent. SLR, canonical LR, LALR and operator precedence parsing techniques. Parser generators. Semantic analysis and attribute grammers. Abstract machines ad intermediate code. Syntax directed translation schemes. Implementation of a compiler for a simple imperative language.
36+
1237
## Course Learning Outcome
1338

39+
- Introduce process of compilation, components of a compiler
40+
- Establish the relationship between the program written in high level language and its realization as a sequence of machine instructions
41+
- Introduce the concepts of lexical analysis and parsing and their implementation strategies
42+
- Enable the student to design and implement compilers for simple languages
43+
- Enable the student to use compiler construction tools lex, yacc and LLVM
44+
1445
## Current Instructor
1546

1647
{{< people tag="cmpe425" cols="2">}}

content/courses/cmpe425.tr.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
title: CMPE425
3+
description: Derleyici Tasarımı
4+
metadata: none
5+
thumbnail: https://picsum.photos/seed/cmpe425/1400
6+
aliases:
7+
- undergraduate/courses/cmpe425
8+
---
9+
10+
{{< under-construction-warning >}}
11+
12+
## Ders Bilgileri
13+
14+
<!-- prettier-ignore-start -->
15+
{{< table class="table-hover table-sm" >}}
16+
|||
17+
|:--|:--|
18+
| Fakülte | Mühendislik Fakültesi |
19+
| Ders Kodu | CMPE425 |
20+
| Ders Başlığı | Derleyici Tasarımı |
21+
| Öğretim Dili | İngilizce |
22+
| Ders Dönemi | Bahar |
23+
| Ders Saatleri | Ders: 3, PS:0, Laboratuvar:0 |
24+
| Ders Kredisi | 3 |
25+
| AKTS | 6 |
26+
| Notlandırma Sistemi | Harf Notu |
27+
| Önkoşul dersleri | CMPE 260 |
28+
| Eşkoşul dersleri | Yok |
29+
30+
{{< /table >}}
31+
<!-- prettier-ignore-end -->
32+
33+
## Katalog Tanımı
34+
35+
Derleme sürecine genel bakış. Sözcüksel analiz, düzenli ifadeler, sonlu otomatlar ve sözcüksel analizör üreteçleri. Sembol tabloları. Gramerler. Yukarıdan aşağıya ve aşağıdan yukarıya sözdizimi analizi. Özyinelemeli iniş. SLR, kanonik LR, LALR ve operatör önceliği ayrıştırma teknikleri. Ayrıştırıcı üreteçleri. Anlamsal analiz ve öznitelik gramerleri. Soyut makineler ve ara kod. Sözdizimine yönelik çeviri şemaları. Basit bir emir dili için bir derleyici uygulaması.
36+
37+
## Dersin Öğrenme Çıktıları
38+
39+
- Derleme sürecini, derleyicinin bileşenlerini tanıtmak
40+
- Yüksek seviyeli dilde yazılan program ile bunun makine talimatları dizisi olarak gerçekleştirilmesi arasındaki ilişkinin kurulması
41+
- Sözcük analizi ve ayrıştırma kavramlarını ve bunların uygulama stratejilerini tanıtmak
42+
- Öğrencinin basit diller için derleyici tasarlamasını ve uygulamasını sağlamak
43+
- Öğrencinin lex, yacc ve LLVM derleyici oluşturma araçlarını kullanmasını sağlamak
44+
45+
## Dersi Veren Öğretim Üyesi
46+
47+
{{< people tag="cmpe425" cols="2">}}
48+
49+
## Dersi Veren Önceki Öğretim Üyeleri
50+
51+
{{< people_alt tag="former-cmpe425" cols="3">}}

content/courses/cmpe434.en.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,34 @@ aliases:
77
- undergraduate/courses/cmpe434
88
---
99

10+
{{< under-construction-warning >}}
11+
12+
## Course Information
13+
14+
<!-- prettier-ignore-start -->
15+
{{< table class="table-hover table-sm" >}}
16+
|||
17+
| :-- | :-- |
18+
| Faculty | Faculty of Engineering |
19+
| Course Code | CMPE434 |
20+
| Course Title | Introduction to Robotics |
21+
| Language of Instruction | English |
22+
| Course Semester | Spring |
23+
| Course Hours | Lecture: 3, PS:0, Labs: 0 |
24+
| Course Credits | 3 |
25+
| ECTS | 6 |
26+
| Grading Mode | Letter Grade |
27+
| Prerequisites | None |
28+
| Corequisites | None |
29+
30+
{{< /table >}}
31+
<!-- prettier-ignore-end -->
32+
1033
## Catalog Description
1134

12-
## Course Learning Outcome
35+
Designing, building and programming mobile robots; sensors, effectors, locomotion, basic control theory, control architectures, path planning, localization, mapping, learning. Teamwork; robot contest.
36+
37+
1338

1439
## Current Instructor
1540

content/courses/cmpe434.tr.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
title: CMPE434
3+
description: Robotbilime Giriş
4+
metadata: none
5+
thumbnail: https://picsum.photos/seed/cmpe434/1400
6+
aliases:
7+
- undergraduate/courses/cmpe434
8+
---
9+
10+
{{< under-construction-warning >}}
11+
12+
## Ders Bilgileri
13+
14+
<!-- prettier-ignore-start -->
15+
{{< table class="table-hover table-sm" >}}
16+
|||
17+
|:--|:--|
18+
| Fakülte | Mühendislik Fakültesi |
19+
| Ders Kodu | CMPE434 |
20+
| Ders Başlığı | Robotbilime Giriş |
21+
| Öğretim Dili | İngilizce |
22+
| Ders Dönemi | Bahar |
23+
| Ders Saatleri | Ders: 3, PS:0, Laboratuvar:0 |
24+
| Ders Kredisi | 3 |
25+
| AKTS | 6 |
26+
| Notlandırma Sistemi | Harf Notu |
27+
| Önkoşul dersleri | Yok |
28+
| Eşkoşul dersleri | Yok |
29+
30+
{{< /table >}}
31+
<!-- prettier-ignore-end -->
32+
33+
## Katalog Tanımı
34+
35+
Mobil robotların tasarlanması, inşa edilmesi ve programlanması; sensörler, efektörler, hareket, temel kontrol teorisi, kontrol mimarileri, yol planlama, lokalizasyon, haritalama, öğrenme. Takım çalışması; robot yarışması.
36+
37+
38+
## Dersi Veren Öğretim Üyesi
39+
40+
{{< people tag="cmpe434" cols="2">}}
41+
42+
## Dersi Veren Önceki Öğretim Üyeleri
43+
44+
{{< people_alt tag="former-cmpe434" cols="3">}}

content/courses/cmpe443.en.md

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,39 @@ aliases:
77
- undergraduate/courses/cmpe443
88
---
99

10+
{{< under-construction-warning >}}
11+
12+
## Course Information
13+
14+
<!-- prettier-ignore-start -->
15+
{{< table class="table-hover table-sm" >}}
16+
|||
17+
| :-- | :-- |
18+
| Faculty | Faculty of Engineering |
19+
| Course Code | CMPE443 |
20+
| Course Title | Principles of Embedded Systems Design |
21+
| Language of Instruction | English |
22+
| Course Semester | Fall |
23+
| Course Hours | Lecture: 3, PS:1, Labs: 2 |
24+
| Course Credits | 4 |
25+
| ECTS | 6 |
26+
| Grading Mode | Letter Grade |
27+
| Prerequisites | CMPE240 |
28+
| Corequisites | None |
29+
30+
{{< /table >}}
31+
<!-- prettier-ignore-end -->
32+
1033
## Catalog Description
1134

12-
## Course Learning Outcome
35+
Embedded systems design flow. Hardware-software co-design. Real-time software design. Real-time debugging techniques and tools. Hardware-software integration: interface design. Examples on the design of data acquisition and control systems. Laboratory.
36+
37+
## Course Learning Outcomes
38+
39+
- Differentiate an embedded computing system from a general-purpose computing system.
40+
- Design an embedded system by using software and hardware components.
41+
- Apply embedded software design techniques to interact with the sensors, actors, and other devices.
42+
- Explain and implement timed behavior.
1343

1444
## Current Instructor
1545

content/courses/cmpe443.tr.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: CMPE443
3+
description: Gömülü Sistem Tasarım Temelleri
4+
metadata: none
5+
thumbnail: https://picsum.photos/seed/cmpe443/1400
6+
aliases:
7+
- undergraduate/courses/cmpe443
8+
---
9+
10+
{{< under-construction-warning >}}
11+
12+
## Ders Bilgileri
13+
14+
<!-- prettier-ignore-start -->
15+
{{< table class="table-hover table-sm" >}}
16+
|||
17+
|:--|:--|
18+
| Fakülte | Mühendislik Fakültesi |
19+
| Ders Kodu | CMPE443 |
20+
| Ders Başlığı | Gömülü Sistem Tasarım Temelleri |
21+
| Öğretim Dili | İngilizce |
22+
| Ders Dönemi | Güz |
23+
| Ders Saatleri | Ders: 3, PS:1, Laboratuvar:2 |
24+
| Ders Kredisi | 4 |
25+
| AKTS | 6 |
26+
| Notlandırma Sistemi | Harf Notu |
27+
| Önkoşul dersleri | CMPE240 |
28+
| Eşkoşul dersleri | Yok |
29+
30+
{{< /table >}}
31+
<!-- prettier-ignore-end -->
32+
33+
## Katalog Tanımı
34+
35+
Gömülü sistem tasarım akışı. Donanım-yazılım ortak tasarımı. Gerçek zamanlı yazılım tasarımı. Gerçek zamanlı hata ayıklama teknikleri ve araçları. Donanım-yazılım entegrasyonu: arayüz tasarımı. Veri toplama ve kontrol sistemlerinin tasarımı üzerine örnekler. Laboratuvar.
36+
37+
## Dersin Öğrenme Çıktıları
38+
39+
- Gömülü bir bilgi işlem sistemini genel amaçlı bir bilgi işlem sisteminden ayırt edebilme.
40+
- Yazılım ve donanım bileşenlerini kullanarak gömülü bir sistem tasarlayabilecektir.
41+
- Sensörler, aktörler ve diğer cihazlarla etkileşim için gömülü yazılım tasarım tekniklerini uygulama.
42+
- Zamanlanmış davranışı açıklamak ve uygulamak.
43+
44+
## Dersi Veren Öğretim Üyesi
45+
46+
{{< people tag="cmpe443" cols="2">}}
47+
48+
## Dersi Veren Önceki Öğretim Üyeleri
49+
50+
{{< people_alt tag="former-cmpe443" cols="3">}}

content/courses/cmpe446.en.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,34 @@ aliases:
77
- undergraduate/courses/cmpe446
88
---
99

10+
{{< under-construction-warning >}}
11+
12+
## Course Information
13+
14+
<!-- prettier-ignore-start -->
15+
{{< table class="table-hover table-sm" >}}
16+
|||
17+
| :-- | :-- |
18+
| Faculty | Faculty of Engineering |
19+
| Course Code | CMPE446 |
20+
| Course Title | Introduction to Computer Architecture |
21+
| Language of Instruction | English |
22+
| Course Semester | Spring |
23+
| Course Hours | Lecture: 3, PS:0, Labs: 0 |
24+
| Course Credits | 3 |
25+
| ECTS | 6 |
26+
| Grading Mode | Letter Grade |
27+
| Prerequisites | CMPE344 and CMPE322 |
28+
| Corequisites | None |
29+
30+
{{< /table >}}
31+
<!-- prettier-ignore-end -->
32+
1033
## Catalog Description
1134

12-
## Course Learning Outcome
35+
Performance limits of Von Neumann architecture. Reduced Instruction Set Computer (RISC) architecture. Pipelined processor design. Instruction pipeline and arithmetic pipelines. Array processors. Dynamic and static interconnection networks. Shared memory multiprocessor systems. Message passing multiprocessor systems.
36+
37+
1338

1439
## Current Instructor
1540

content/courses/cmpe446.tr.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
title: CMPE446
3+
description: Bilgisayar Mimarisine Giriş
4+
metadata: none
5+
thumbnail: https://picsum.photos/seed/cmpe446/1400
6+
aliases:
7+
- undergraduate/courses/cmpe446
8+
---
9+
10+
{{< under-construction-warning >}}
11+
12+
## Ders Bilgileri
13+
14+
<!-- prettier-ignore-start -->
15+
{{< table class="table-hover table-sm" >}}
16+
|||
17+
|:--|:--|
18+
| Fakülte | Mühendislik Fakültesi |
19+
| Ders Kodu | CMPE446 |
20+
| Ders Başlığı | Bilgisayar Mimarisine Giriş |
21+
| Öğretim Dili | İngilizce |
22+
| Ders Dönemi | Bahar |
23+
| Ders Saatleri | Ders: 3, PS:0, Laboratuvar:0 |
24+
| Ders Kredisi | 3 |
25+
| AKTS | 6 |
26+
| Notlandırma Sistemi | Harf Notu |
27+
| Önkoşul dersleri | CMPE344 ve CMPE322 |
28+
| Eşkoşul dersleri | Yok |
29+
30+
{{< /table >}}
31+
<!-- prettier-ignore-end -->
32+
33+
## Katalog Tanımı
34+
35+
Von Neumann mimarisinin performans sınırları. Azaltılmış Komut Kümeli Bilgisayar (RISC) mimarisi. Pipelined işlemci tasarımı. Komut boru hattı ve aritmetik boru hatları. Dizi işlemciler. Dinamik ve statik ara bağlantı ağları. Paylaşımlı bellek çoklu işlemci sistemleri. Mesaj geçiren çoklu işlemci sistemleri.
36+
37+
## Dersi Veren Öğretim Üyesi
38+
39+
{{< people tag="cmpe446" cols="2">}}
40+
41+
## Dersi Veren Önceki Öğretim Üyeleri
42+
43+
{{< people_alt tag="former-cmpe446" cols="3">}}

content/courses/cmpe451.en.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,44 @@ aliases:
77
- undergraduate/courses/cmpe451
88
---
99

10+
{{< under-construction-warning >}}
11+
12+
## Course Information
13+
14+
<!-- prettier-ignore-start -->
15+
{{< table class="table-hover table-sm" >}}
16+
|||
17+
| :-- | :-- |
18+
| Faculty | Faculty of Engineering |
19+
| Course Code | CMPE451 |
20+
| Course Title | Project Development in Software Engineering |
21+
| Language of Instruction | English |
22+
| Course Semester | Fall |
23+
| Course Hours | Lecture: 1, PS:0, Labs: 2 |
24+
| Course Credits | 2 |
25+
| ECTS | 5 |
26+
| Grading Mode | Letter Grade |
27+
| Prerequisites | CMPE352 and CMPE321 |
28+
| Corequisites | None |
29+
30+
{{< /table >}}
31+
<!-- prettier-ignore-end -->
32+
33+
1034
## Catalog Description
1135

36+
Management and implementation of a large software development as a group. Application of software engineering principles in a project setting.
37+
1238
## Course Learning Outcome
1339

40+
- To experience the application of software development techniques and methodologies throughout various stages of the software development lifecycle including planning, requirements gathering, design, implementation, testing, deployment, and delivery.
41+
- To acquire team-based software development skills such as communication, planning, and
42+
time management.
43+
- To gain communication skills required to interact with customers and the project team members.
44+
- To develop skills in planning and managing software development projects.
45+
- To gain the ability to use software development tools, techniques, environments, and methodologies for effective and productive software development.
46+
- To apply various Computer Engineering knowledge and algorithms, as learned in earlier courses, to software development.
47+
1448
## Current Instructor
1549

1650
{{< people tag="cmpe451" cols="2">}}

0 commit comments

Comments
 (0)