Fırat University · Software Engineering · YMT113
Introduction to
Computer Science
From bits to the web, one language at a time. Built on Harvard's CS50: you learn how computers think, then you make them do what you want, in C first, then Python, SQL and the web, with a lab every Monday and a project that is yours.
- When
- Monday
13:15–17:00 - Where
- B101 / YM LAB
- Who
- Assoc. Prof. Ferhat Uçar
try it ↓ type a word, click the bits
Click the bits of one byte
decimal
0
hex
0x00
ASCII
·
Place values from the left: 128 64 32 16 8 4 2 1. Turn on 64 + 8 + 1 and you get 73, which ASCII calls I.
Fall 2026 · 15 Mondays
One semester, six chapters
Each Monday is one lecture and one lab. Click any week to open its notes, the CS50 lecture to watch beforehand, and the lab.
- 01 · weeks 1–2 0 1
Foundations: Bits and Thinking
What computer science is, how everything becomes bits, and your first programs in Scratch: the ideas of every language, without the syntax.
- 02 · weeks 3–4 int main(void)
The C Language
Source code to machine code. Variables, conditionals, loops, functions, then arrays, strings and command-line arguments. You start writing real programs.
- 03 · weeks 5–8 *p → &x
Algorithms, Memory and Data Structures
Searching, sorting and Big O; pointers, the heap and hexadecimal; linked lists, hash tables and trees. The part of the course that makes you a real programmer.
- 04 · weeks 9–11 SELECT *
Python, AI and Data
The same ideas in Python in a tenth of the lines; how machine learning and large language models actually work; and SQL, the language of data.
- 05 · weeks 12–13 </>
The Web and the Internet
HTML, CSS and JavaScript in the browser; then what happens between your laptop and a server: IP, TCP, DNS, HTTP, and how to stay safe.
- 06 · weeks 14–15 v1.0
Humans, Systems and Your Project
Human-computer interaction and how software is built in industry, then demo day: your project, live, from your own repository.
Why this course
You use computer science all day. This term you get to see inside.
-
01001000 01101001
Every photo, song and message
is bits. Week 2 shows you how text, color and sound become 0s and 1s, and why a byte can only count to 255.
-
int main(void)
Linux, Windows, your browser, Python itself
are written in C. The language you learn in weeks 3–4 is the one under everything else.
-
O(log n)
Searching a billion records in 30 steps
is binary search. Week 5 is why Google feels instant and why a bad algorithm can freeze an app.
-
*ptr = &x
Segfaults, memory leaks, buffer overflows
are the bugs behind most security headlines. Week 6 puts you inside memory so you can see them coming.
-
SELECT … WHERE
Every app you use has a database
and talks to it in SQL. Week 11 is the language of data; week 10 is what AI does with that data.
-
<button onclick>
The web is HTML, CSS and JavaScript
plus a conversation over HTTP. Weeks 12–13 take you from a blank page to a working site and behind the wires.
How a Monday works
Watch before, build during, push after
The official slot is 13:15–17:00. We use it as a flipped classroom: the CS50 lecture is homework, the lecture hour is for depth and demos, and the lab is where you actually learn to program.
- ▶
Part 1 · 13:30–14:45
Lecture
One big idea, live coding on the projector, and questions. You have already watched the CS50 lecture, so we go deeper, faster, and into examples from industry.
- >_
Part 2 · from 15:00 onwards
Lab
Accept the week’s lab on Classroom 50, open it in VS Code in your browser and write C. The lab page is written so you can start on your own; tests tell you instantly how you are doing.
- ✓
After class
Push and prepare
Finish the lab, git push, read your autograded score. Then watch next week’s CS50 lecture and skim its notes before the next Monday.
Before every Monday: the CS50 lecture
You are enrolled in CS50x 2026 on edX. Each week page names the matching lecture by David J. Malan. Watch it on YouTube, read the notes and skim the slides before class. Our Monday assumes you have. The full playlist is public.
Announcements
All →-
October 16, 2026 · pinned
Week 5: algorithms and Big O. Lab 4 is open; Lab 3 scores are on Classroom 50 -
October 11, 2026 · pinned
Week 4: arrays and strings. Lab 3 is open; Lab 2 scores are on Classroom 50 -
October 3, 2026 · pinned
Week 3: C begins. Lab 2 is on Classroom 50; accept the GitHub organization invitation
Contact & channels
Channels
-
WhatsApp channel
Quick announcements and reminders land here first. Everyone is expected to join.
-
Instagram · @dr.ferhatucar
Short, useful posts on AI, software and what we do in class.
-
Public work calendar
My weekly schedule: classes, meetings and when I am available.
-
Office hours booking
Questions, your project or advice: pick a time that suits you.
Labs
All labs →- L1 Hello, Scratch Week 2 · Mon, Sep 28 · due Fri, Oct 2 · 23:59 · open now
- L2 C Kickstart Week 3 · Mon, Oct 5 · due Fri, Oct 9 · 23:59 · open now
- L3 Strings and Ciphers Week 4 · Mon, Oct 12 · due Fri, Oct 16 · 23:59 · open now
Grading