You are on page 1of 28

CS111 Introduction to Computer Science

Computer Science Dept.


Helwan University

Lecture 0
Course Introduction
& Plan
▪ Course Details & Course Instructor (Short Bio)
▪ Dependent Courses (CS111 as a Prerequisite)
▪ Tentative Topics & Learning Objectives
▪ Course Logistics & Grading Policy
▪ Previous Course Statistics Faculty of
▪ Be an Effective Learner ..? Computers &
Artificial Intelligence
▪ Classroom Code of Conduct
▪ Academic Agenda FALL 2021
Course Details

Course Code CS111

Course Name Introduction to Computer Science

Coordinating Unit Department of Computer Science,


Faculty of Computers & Artificial ..
.. Intelligence, Helwan University

Term Semester 1 (Fall)

Level Undergraduate - Level 1

2
Course Staff : Instructor (Short Bio)
Dr. Amr S. Ghoneim
He received his B.Sc. and M.Sc. (by research) degrees in Computer Science from Helwan University
(the Faculty of Computers and Artificial Intelligence), Cairo - Egypt. His M.Sc. work was on employing
AI & Machine Learning techniques for detecting the effects of diabetes on human vision (from
images of the retina) won him the 1st Place Winning Postgraduate [Best MSc/PhD Thesis] in the MIE
“Made -In-Egypt” Competition (Organized by the IEEE-Egypt Gold Section) and the 1st Place Winning
Postgraduate [Best MSc/PhD Thesis] in the MIA “Made-In-the-Arab world” Competition (Organized
by the Arab League) competing against researchers from 13 MENA countries.

He completed his Ph.D. in 2012 from the School of Engineering and Information Technology (SEIT),
the University of New South Wales at the Australian Defence Force Academy (UNSW@ADFA),
Canberra - Australia, where he was a member of the Artificial Life and Adaptive Robotics Laboratory
(ALAR). His thesis was about developing a computational approach for competency awareness in
strategic decision making (for Go players).

He is currently an Assistant Professor at the Department of Computer Science at Helwan University,


Cairo - Egypt. Since 2015, he's also the Vice-Director of the International Students Office (for Study
Programs and Research Communication) at Helwan University, and an Adjunct Assistant Professor of
Computer Science at the Faculty of Informatics and Computer Science (ICS) - The British University in
Egypt. His research interests include the areas of artificial/computational intelligence, machine
learning, ensemble learning, image processing (mostly medical), pattern recognition, statistical
analysis, computational psychology, and evolutionary computation. 3
Tentative Topics
& Learning Objectives
.. of this course

4
Learning Objectives of this Course

What you'll learn?


 A broad and robust understanding of computer science & its
fields, computational thinking, and programming.
 Know the key components of a computer system (hardware,
software, data/information).
 Be familiar with how computers work through an introduction
to number systems & binary representation.
 How to think algorithmically, to solve basic programming
problems efficiently, and how to represent algorithms.
 Familiarity with concepts like abstraction, algorithms, data
structures, and software engineering.
 Familiarity with basic programming concepts.
 Familiarity with the C programming language.
5
Learning Objectives of this Course
.. Continued..

As well, Students by the end of this course should be able to:


 Think more methodically (logically / systematically);
 Program procedurally;
 Represent & process information;
 Solve basic problems efficiently;
 Recognize patterns among problems;
 Decompose problems into parts;
 Operate at multiple levels of abstraction;
 Separate design from implementation details;
 Assess the correctness, design, and style of code;
 Teach themselves new languages;

6
Learning Objectives of this Course
.. Continued..

Eventually .. & as any entry-level course to Computer


Science .. this course provides students with a foundation
for further studies in computer science and empowers
them to apply computer science to problems in other
domains.

7
Topics Covered [ Tentative ]
The main contents of the course are:
▪ What is a Computer? What is Computer Science?
▪ Computer terminology, and Hardware versus Software.
▪ Algorithms, Pseudocode, Flowcharts, and Programming Languages.
▪ Generations of Computers, & Computers’ classification.
▪ Problem solving concepts & an Introduction to C programming.
▪ Comments in C, Pre-processor Directives, & the Main Function.
▪ Statements, Variables, Data Types, and C Built-in Functions.
▪ Tracing a Program & Memory Concepts.
▪ C operators (arithmetic, equality, relational, logical, and bitwise), &
Operators Precedence.
▪ Counter / Sentinel controlled repetition, & Break / Continue statements.
▪ User-Defined Functions, Functions Overloading, & Recursive
Functions.
▪ Binary Data Representation.
▪ Important Number Systems for Computers & Conversions between
Number Systems.
▪ Binary Arithmetic & Logic, and Negative Numbers & Complements.
8
Course Logistics
• Announcements & Course Materials
• Additional Resources (per section)
• Assessment Summary (Grading Policy)
• Exercises .. What have we learned?
• Be an Effective Learner ..?
• Classroom Code of Conduct
• Academic Integrity & Plagiarism

9
Announcements & Course Materials

Video Lessons:
All recorded lectures are on the following:

Amr S. Ghoneim YouTube Channel :


https://www.youtube.com/AmrSGhoneim/

CS111 Introduction to Computer Science YouTube Playlist :


https://www.youtube.com/playlist?list=PLsnvpvHuTUbDQZEakmW9
YzwGxHTO9VlUR

10
Announcements & Course Materials

Downloads, Homework, & Announcements:


All course material (lecture notes “slides", assignments, any supplemental notes
or documentation), will be made available “posted” online on weekly basis, on:
CS111 Introduction to Computer Science Google Drive Folder:
https://drive.google.com/drive/folders/1RTakuNor6594Z289NWygz1lmd-jjHHQ-
?usp=sharing

All announcements will be made available “posted” online, on:


Amr S. Ghoneim Facebook Page : https://www.facebook.com/amr.s.ghoneim/

11
Announcements & Course Materials

Required Resources:
The prescribed textbook for the course is:
- Deitel and Deitel, "C How to Program", 8th Edition, Pearson Education Inc.

Course & Lectures are based on their counterparts in the


following:
- Harvard University's CS50; An introduction to the intellectual enterprises of
computer science and the art of programming, Harvard School of Engineering
and Applied Sciences.
- UNSW's CS1: Higher Computing, by Richard Buckland – The University of
New South Wales.
- MIT's 6.087 Practical Programming in C (2010), 6.096 Introduction to C++
(2011), and 6.S096 Introduction to C and C++ (2013), MIT (Massachusetts
Institute of Technology) OpenCourseWare.
12
Additional
Resources
▪ At the end of each section, there will be a
short list of additional resources.
▪ The list will include articles, YouTube videos,
online courses, books, .. etc. (in both Arabic
and English).
▪ These resources will provide more details on
some of the topics discussed during the
lectures.
Assessment Summary (Grading Policy)

The Assessment for this subject consists of six components with the
following weightings (grading breakdown):

1) Final Written Exam: 50%


2) Midterm Written Exam: 20%
3) Quizzes (written, practical, and/or online): 20%
4) Final Practical Exam: 10%
5) Attendance and Participation during the Labs. (Sections) are
obligatory.
6) Take-home Assignments/Sheets (about 6 Sheets): 0% to -12%
(Students will lose 2 marks for every sheet not delivered on time
or found out to be copied.

14
Exercises
What have we learned?
At the end of each section, there will be a set
review activities (exercises), that would help
you see the progress you've made in this
lesson.
The exercises would help you:
▪ Highlight what you have learned today &
emphasize key information.
▪ Correct misunderstandings.
▪ Summarize, review, & demonstrate your
understanding of major points.
▪ Transfer ideas to new situations.
Be an Effective Learner ..
o Have the desire to seek knowledge and acquire new skills (be
inquisitive / curious).
o Ask questions.
o Be an avid (keen & passionate) reader.
o Be an attentive / focused listener.
o Find your preferred learning style .. & .. Learn in multiple ways.
o Do NOT memorize.
o Embrace Discomfort.
o Practice, practice, practice (you must gain practical experience).
o Teach what you’ve learned to another person.
o Use testing to boost / improve learning.
o Avoid multitasking.
o Make use of Memory Improvement Basics.
o Draw up a schedule.
o Examine your lifestyle.
o Create a study station. 16
Classroom Code of Conduct
Be punctual & prepared to study:
- Attend all classes including online and face-to-face classes.
- Arrive to all classes on time.
- Keep all handouts & work in a folder and make sure they are well organised.
- Prepare yourself for your classes.
Participate in the classroom:
- Participate in class.
- Respect yourself, your teachers, and your classmates.
- Turn mobile phones off or put them on silent mode before entering the classroom.
- Adopt a professional attitude - no eating, side-talk, etc.
Study independently:
- Study outside the classroom as part of your student effort (about 6 to 8 hours per week).
- Complete all homework assignments and hand them in on time.
- Use the University/Faculty facilities (e.g., the library) and online resources.
Respect University regulations:
- Follow (University, Faculty, Department, and Programme) regulations.
- Know the due date of all assessments, submit them by that date & in the required format.
- Understand what you need to successfully progress.
- Maintain academic honesty (academic integrity & plagiarism). 17
Academic Integrity & Plagiarism

o You can discuss ideas and methodology for the homework


(assignments / sheets) with other students in the course, but
you must write your solutions completely independently.

o We will be code-checking to assess similar submissions or


submissions that use code from other sources.

18
Previous Course Statistics .. & ..
Dependent Courses
.. a list of the Courses requiring
CS111 as a Prerequisite ..

19
The
Grading /
GPA
System
Per Course

20
The
Overall
Grading /
GPA
System

21
Previous Course Statistics

Grade Percentage
A+ 1.19%
A 2.55%
B+ 5.02%
B 9.16%
C+ 13.06%
C 16.96%
D+ 15.53%
D 27.23%
F 9.32%
22
Data Structures
Compilers (CS419)
(CS214)
Programming
Languages 3
Programming (CS313)
Languages 2
(CS213) Concepts of
Programming
Languages (CS317)
Operating
Operating Systems
Systems 1 2 (CS342)
(CS241)
Image Processing 1
(IT441)
Algorithms
(CS316)
Computer Vision
(IT444)

Multimedia
(IT433)

Computer Graphics

(CS111)
2 (IT332)
Computer
Graphics (IT331)
Virtual Reality
Programming Languages 1 (CS112)

(IT431)

Intelligent
Information
Artificial Systems (IS441)
Intelligence
(CS361) Natural Language
Processing (CS462)

Software
Software Engineering 2
(CS352)
Introduction to Computer Science

Engineering
23

1 (CS251) Graduation
Project (CS498)
General
Division
Real-time
Software &
Systems
Prog.
(IS425)
Languages 2
(CS213) Machine
Learning
Program
(CS317)

Operating
Systems 1
(CS241)

Artificial
Intelligence
Medical Informatics

(CS361)
Data
Structures &
Algorithms
(CS316)
Graduation
Project
Software (MI416)

(CS111)
Engineering
1 (CS251) Software
Databases Engineering
Programming Languages 1 (CS112)

for 2 (CS352)
Healthcare
System Evidence-
Based
(IS211) Medicine
(IS313)
Large-Scale
Data-Handling
in Biology
(IS422)
Introduction to Computer Science

Mathematics for
24

Computer Science
(MA101)
Software Engineering
Program
Data Structures

Operating Programming Artificial Computer


(CS214)

Algorithms
Systems 1 Languages 2 Intelligence Graphics 1
(CS316)
(CS241) (CS213) (CS361) (IT331)

Programming Languages 1 (CS112)

Introduction to Computer Science


(CS111) 25
Academic
Agenda

26
Week: Starts: Tentative Academic Agenda (Topics)
Wk. 1 Oct. 9 Course Introduction & Plan
Wk. 2 Oct. 16 Computational Thinking – Part 1 (Computers, Computer Science, & Binary Rep.)
Wk. 3 Oct. 23 Computational Thinking – Part 2 (Algorithms & Programming Languages)
Wk. 4 Oct. 30 Basics of Programs & Compilation
Wk. 5 Nov. 6 Variables, Constants, & Data Types in C
Wk. 6 Nov. 13 Arithmetic & Bitwise Operations, Logical & Relational Operators, and Precedence
Wk. 7 Nov. 20 Midterm Written Exams (20%) – Schedule TBA by the Faculty
Wk. 8 Nov. 27 Control Structures – Selection (Decisions)
Wk. 9 Dec. 04 Control Structures – Repetition (Loops)
Self-study C Built-In Functions & Solved Examples (1st Set)
Wk. 10 Dec. 11 User–Defined Functions & Scope of Variables
Wk. 11 Dec. 18 Number Systems, Binary Arithmetic, & the Complements Representation
Wk. 12 Dec. 25 Recursion, Function Overloading, & Call-by-Reference versus Call-by-Value
Self-study Solved Examples (2nd Set)
Quizzes (Practical & Written), Assignments & Sheets (20%) – Deadlines TBA online
Final Practical Exams (10%) – Schedule TBA by the Faculty
27
Final Written Exams (50%) – Schedule TBA by the Faculty
Up Next ..
Welcome to Lecture 1
CS111

an Introduction to
Computer Science

Thank you!

You might also like