Syllabus · YMT113
About the course
Introduction to Computer Science is a first course in computing for beginners with no prior programming experience, built on Harvard University's CS50 curriculum. Starting from how computers represent information, you learn to think algorithmically and to program in C, the language under every operating system, browser and database. You then meet arrays, algorithms, memory, data structures, Python, artificial intelligence, SQL and the web, and you finish by building and demoing a software project of your own.
- Instructor
- Assoc. Prof. Ferhat Uçar
- fucar@firat.edu.tr
- Class
- Monday 13:15–17:00 (official slot)
- Lecture
- 13:30–14:45
- Lab
- from 15:00 onwards
- Room
- B101 / YM LAB
- Program
- UOLP (International Joint Degree Program), taught in English
- Language
- English
- Prerequisites
- None. No prior programming is assumed; curiosity and a browser are enough.
- Based on
- Harvard CS50x 2026 (edX enrollment provided)
Contact & channels
Reach me
Join the WhatsApp channel for announcements, check my calendar before you drop by, and book an office-hours slot for questions or your project.
-
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.
Philosophy
Where you end up relative to yourself
What ultimately matters in this course is not where you end up relative to your classmates but where you end up relative to yourself when you began. We learn by doing: every Monday is one lecture and one lab, every lab is code you write and tests that check it instantly, and every idea is tied to something real, from the chip in your phone to the app you used this morning.
-
01
Bits first, then everything
Numbers, text, images, sound and code are all bits. Once you see that, no technology is magic anymore.
-
02
C before comfort
C shows you what the machine really does: memory, addresses, bytes. Every later language becomes easier because of it.
-
03
Every idea runs
You do not read about programs, you write them, in a browser-based VS Code, with autograded feedback in a minute.
-
04
One wow moment a week
Each week connects the topic to something surprising in the real world: a bug that cost millions, a trick behind Google, a line of code inside your phone.
-
05
Industry in view
Git, GitHub, code review, testing and AI-assisted coding are part of the course from week 2, because they are part of the job.
-
06
Honest use of AI
AI assistants are welcome as tutors. You are graded on what you can explain, and you will be asked to explain.
Learning outcomes
What you will be able to do
- LO1
- LO2
- LO3
Implement and compare searching and sorting algorithms and reason about running time with Big O.
- LO4
Use pointers and dynamic memory in C, read hexadecimal, and explain how strings, files and images live in memory.
- LO5
Build linked lists, hash tables and trees, and choose a data structure for a given problem.
- LO6
Translate C programs into Python and use libraries to solve practical problems quickly.
- LO7
Describe how machine learning and large language models work, prompt them effectively, and recognize their limits.
- LO8
Design relational tables and query them with SQL, and explain SQL injection.
- LO9
- LO10
Grading
How your grade is built
Midterm exam
40%
In-class written exam in week 8. The official date is announced by the faculty.
Final
60%
Final grade = 85% final exam + 15% semester project.
Inside the final (60%)
The project therefore counts for 9% of your overall course grade. Project details →
Weekly labs are autograded for instant feedback. They are the practice ground for the exams and the project, and completion is tracked. How labs work →
Policies
The fine print
- Late work
- Assignments submitted after the due date are penalized 10% per day, including weekends. Nothing is accepted more than five days late unless a documented medical or personal emergency is provided.
- Academic integrity
- Cheating, plagiarism and submitting someone else's work as your own lead to disciplinary action, which can include a failing grade and university sanctions. Reading others' code to learn is fine; submitting it is not.
- AI tools
- You may use AI assistants (including CS50's duck at cs50.ai) to explain concepts, find bugs and generate practice problems. You may not submit code you cannot explain line by line. In labs and the project demo you will be asked to walk through your work.
- Attendance and participation
- Regular attendance is crucial: the lab needs you in the room. If you cannot attend, email the instructor in advance.
- Electronics
- Laptops and phones are for course work only. Anything that distracts others is not allowed.
- Communication
- Official course communication is by email. Urgent announcements also go to the WhatsApp channel.
- Accommodations
- If you need an accommodation for a disability or any other reason, contact the instructor as early as possible.