Course Information
SemesterCourse Unit CodeCourse Unit TitleT+P+LCreditNumber of ECTS CreditsLast Updated Date
1BBM101INTRODUCTION TO PROGRAMMING I3+0+03606.09.2024

 
Course Details
Language of Instruction English
Level of Course Unit Bachelor's Degree
Department / Program COMPUTER ENGINEERING
Type of Program Formal Education
Type of Course Unit Compulsory
Course Delivery Method Face To Face
Objectives of the Course This course serves as an introduction to the fundamentals of computer science and programming. It aims to help students with little or no programming experience to gain necessary skills to work with abstract notions for solving computational problems.



Course Content The course is structured around basic topics such as control flow, functions, lists, file I/O, simple data structures, function design, recursion and memory management. The class will use the Python and C programming languages as medium to provide basic understanding of concepts in computer programming.
Course Methods and Techniques Lecture, Question and Answer, Demonstration, Drill and Practice.
Prerequisites and co-requisities ( BBM103 )
Course Coordinator None
Name of Lecturers Asist Prof.Dr. Fuat Akal
Assistants None
Work Placement(s) No

Recommended or Required Reading
Resources - Think Python, 2nd edition, Allen B. Downey - Introduction to Computation and Programming Using Python, 2nd edition, John V. Guttag, MIT Press, 2013 - C How to Program (8th Edition), Paul J. Deitel, Harvey Deitel, Pearson, 2016. - The C Programming Language, 2nd Edition, Brian Kernighan and Dennis Ritchie, Prentice Hall, 1988 - Practical C Programming 3rd Edition, Steve Oualline, O'Reilly Media, 1997
Course Notes Think Python, 2nd edition, Allen B. Downey
Introduction to Computation and Programming Using Python, revised and expanded edition, John V. Guttag, MIT Press, 2013
The C Programming Language, 2nd Edition, Brian Kernighan and Dennis Ritchie, Prentice Hall, 1988
Practical C Programming 3rd Edition, Steve Oualline, OReilly Media, 1997


Planned Learning Activities and Teaching Methods
Activities are given in detail in the section of "Assessment Methods and Criteria" and "Workload Calculation"

Assessment Methods and Criteria
In-Term Studies Quantity Percentage
Midterm Exam 2 % 60
Final examination 1 % 40
Total
3
% 100

 
ECTS Allocated Based on Student Workload
Activities Quantity Duration Total Work Load
Course Duration 14 3 42
Hours for off-the-c.r.stud 14 5 70
Preparation for Midterm Exam 2 20 40
General Exam Preparation 1 25 25
Total Work Load   Number of ECTS Credits 5,9 177

 
Course Learning Outcomes: Upon the successful completion of this course, students will be able to:
NoLearning Outcomes
1 At the end of this course successful students will understand the basic principles of computer programming and algorithmic problem solving, and will be able to develop algorithms and to write computer programs of moderate complexity.
2  
3  
4  
5  
6  
7  
8  

 
Weekly Detailed Course Contents
WeekTopicsStudy MaterialsMaterials
1 What is computation
2 Binary representations and the Von Neumann architecture
3 Introduction to Python, Control flow, Functions
4 Tuples, Lists, File IO, Sets, Dictionaries
5 Midterm Exam 1
6 List comprehensions, Visualization
7 Recursion
8 Sorting
9 Debugging, Exceptions, Testing
10 Development Strategies, Function Design, Algorithmic Speed
11 C for Python Programmers
12 Midterm exam
13 Pointers in C
14 Pointers in C (cont?d.)
15 Final Exam Preparation
16 Final Exam

 
Contribution of Learning Outcomes to Programme Outcomes
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12
All 4 4 4 4 3 3 3 3 3 3 2
C1
C2
C3
C4
C5
C6
C7
C8

  Contribution: 1: Very Slight 2:Slight 3:Moderate 4:Significant 5:Very Significant

  
  https://bilsis.hacettepe.edu.tr/oibs/bologna/progCourseDetails.aspx?curCourse=2687393&lang=en