The American university in Cairo

Computer Science & Engineering Department

CSCE 106/1001

Fundamentals of Computer science

Course Layout

 

Summer 2017

 

 

 

 

http://www1.aucegypt.edu/faculty/cse/akhalil/csci106k/

 

 

 

 

 

Why Should Everybody Learn How to Program the Computer ?

 

How Can You Get Started ?

 

 

Course:                    CSCE 1001-04&05  “Fundamentals of Computer Science” , 3 Credit Hours

Instructor:            Dr. KHALIL                                           E-Mail: akhalil@aucegypt.edu

Office:                  Room 2148 SSE

Office hours:        11:00  -  12:00  noon UMTWR

Lab Instructors:   Eng. Belal Youssef                              E-Mail: belalali@aucegypt.edu

                                   

 

Course Description:

Introduction to the discipline of computing. Computer history and Evolution. Internal Information representation and operations. Professional ethics for computer programmers and users. Problem solving concepts, algorithms, pseudo-code, and Flow Charts. Control structures, functions, procedures, parameters, one-dimensional arrays. Programming laboratory provides hands-on using C++ language in problem solving .

 

Course Outcomes:

After completing the CSCE 1001, students will be able to:

 

  1. Demonstrate knowledge and understanding of the basic elements of computer hardware and software and their roles in a computer system.
  2. Demonstrate knowledge and understanding of the fundamental concepts of internal information representation and operations.
  3. Demonstrate knowledge and understanding of standard methods and approaches for problem solving.
  4. Demonstrate knowledge and understanding of the algorithmic approach for problem solving.
  5. Design and represent an algorithmic solution for a given algorithmic problem.
  6. Implement the algorithmic solution using C++ as a programming language.
  7. Demonstrate knowledge and understanding of using C++ in implementing various problem solutions in different application areas.
  8. Demonstrate knowledge and understanding of professional ethics in computing field.

 

Textbook

 

“Problem Solving with C++”, Walter Savitch & Kendrick Mock.  ISBN: 9781292018249

 

Textbook ppt Slides

 

 

Topics to be covered in the course

 

Topic

Textbook

ppt

Other Supporting Material

Supplementary Material

Supplementary Material

1.  Introduction to Computer (Ch 1 – Self-Reading)

§  A Preview of Computer Science

§  Computer Architecture

§  Computer Hardware

§  Computer Software

§  Computer Languages     

§  Processing a High-Level Language Program        

§  2. Professional Ethics for Computer Programmers.

 

 

Chapter 1

Introduction to Computers and Programming in C++

 

Introduction to Computer

(pdf)

 

 

 

Introduction to Computer (ppt)

 

Browse

 

Download

 

 

 

 

 

 

Browse

 

Download

Browse

 

 Download

2. Internal Information Representation & Processing

§  Number Systems

§  Binary Number System

§  Information Representation,  integer and character representations

§  Simple Arithmetic operations in Binary

 

Number Systems

 

 

3. Problem Solving Concepts & Programming in C++ 

 

 3.1 Problem Solving Methodologies

§  Algorithmic Methodology

§  Software Engineering Methodology

§  Flow Charts

§  Top-Down Design, Problem breakdown and abstraction

 

 

Problem Solving

Browse  Download

 

3.2 Program Development in C++ (Ch 2)

§  C++ Language Elements

§  Data Types, Declarations, and Expressions

§  Input/Output

§  The string class

§  C++ Program Structure

 

Chapter 2

C++ Basics

 

 

 

 

Browse  Download

 

3.3 Arithmetic Operations (Ch 2)

§  Arithmetic operators

§  Using Variables/constants

§  Type Compatibilities & Integer Operations

§  Standard Library Functions (cmath)

Chapter 2

C++ Basics

Browse  Download

 

3.4 Control Structures – Programming of Selections & Iterations (Ch 2)

§  Flow Controls

§  if-else Statement

§  Compound statements

§  Simple Loop Mechanisms

§  while and do-while statements

Chapter 2

C++ Basics

 

 

 

Browse  Download

 

3.5 More Control Structures (Ch 3)

§  Using Boolean Expressions

§  Multiway Selections using Nested and Extended if Statement

§  Increment and Decrement operators

§  for loop

 

Chapter 3

More Flow Control

 

 

 

Browse  Download

 

3.6 Procedural Abstraction and Modular Programming Using Functions (Ch 4)

1.       

§  Top-down Design & Structure Chart

§  Programmer-defined functions

§  Procedural Abstraction

§  Scope & Local Variables

Chapter 4

Procedural Abstraction and Functions

Browse  Download

 

3.7 Functions (Ch 5)

§    

§  Type of functions

§  Pre-defined functions

§  Programmer-defined functions

§  Call-BY-Value Parameters

§  Call-By-Reference Parameters

Chapter 5

Functions

Browse  Download

 

3.8 Arrays (Ch 7)

§   Introduction to Arrays

§  Arrays in Functions

§  Programming with Arrays

 

Chapter 7

Arrays

Browse  Download

 

 

 

Research Paper & Presentation:

In this assignment, students are encouraged to work in groups of 2 students at most. Each group is asked to write a research paper (5 to 10 pages) and give a 10-minute presentation on one the following topics (Due Date: Sunday, July 2nd, 2017). 

 

CSCE 1001 Research Topic Assignment Summer 2017

 

Topic

Section 04

Section 05

1.     Big Data Analytics

 

 

2.     Virtual & Augmented Reality

 

 

3.     Internet Of Things (IoS)

 

 

4.   Operating Systems

 

 

6.     Computer Networks

 

 

7.     Algorithms

 

 

8.     Programming Languages

 

 

9.     Software Engineering

 

 

10.     Database Systems

 

 

11.     Computer Graphics

 

 

12.   Artificial Intelligence

 

 

13.   Web-based Applications

 

 

14.   Cloud Computing

 

 

15.   Computer Security

 

 

16.   Computer Applications in Engineering

 

 

17.   Computer Applications in Science

 

 

18.   Computer Applications in Media

 (TV Broadcasting and Journalism)

 

 

19.   CAD/CAM Systems

 

 

20.   Mobile Computing

 

 

21.   Computer Games

 

 

22.   Social Networks

 

 

23.   Media Networks

 

 

24.   GIS (Geographical Information Systems)

 

 

25.   E-Commerce

 

 

26.   E-Learning

 

 

27.   E-Government

 

 

 

 

Programming Laboratory:

    This part will accompany the regular classes and covers the following hands-on:

§  Working with C++ Programming Environment (Visual Studio)

§  C++ Language Elements.

§  Arithmetic Expressions.

§  Arithmetic and Assignment.

§  Boolean, Conditionals, and Loops

§  Arrays.

 

 


Exams:    Midterm Exam I:           Monday, June 19, 2017             

           Midterm Exam II:       Monday, July 10, 2017

           Final Exam:                 Last Day of Classes,Wednesday, July 19, 2017 at 12:00 noon                         

 

Past Exams

 

 

Grading System:

Activity

Points

Exam I

20

Exam II

20

Quizzes

15

Research & Presentation

5

Assignments & Lab Prog. Quizzes

10

Attendance & Class Contribution

5

Final Exam

25

Total

100

 

 

Lab Sessions Schedule for Sections 04 & 05

 

Day

Time Slot

 

 

 

 

 

 

 

 

Lab Sessions Content:

 

Lab Session No.

Problems’ Sheet

Week Number

Lab Session 1

Download

2

Lab Session 2

Download

3

Lab Session 3

Download

4

Lab Session 4

Download

5

Lab Session 5

Download

6

Lab Session 6

Download

7

Lab Session 7

Download

8

Lab Session 8

Download

9

Lab Session 9

Download

10

Lab Session 10

Download

11

Lab Session 11

Download

12

Lab Session 12

Download

13

 

Teaching Assistant (TA)

Name

Section No

Responsibilities

Email

Mobile Phone

Office Hours

Mr. Belal Youssef

 

03 & 05

Instruction of Lab Sessions & grading Assignments

belalali

 

 

 

 

 

 

 

 

 

 

 

 

Undergraduate Teaching Assistants

Name

Email

Mobile Phone

Office Hours

Schedule

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Attendance Policy:

Attendance is expected. Whether you come to class or not, you are responsible for keeping up with what happens in class. If you miss a class (other than for illness or emergency), it is not reasonable for you to expect me to repeat the material that was covered in the class you missed just for you. This applies both the content of the class as well as the announcements about class policies, events, deadlines or whatever. The AUC attendance policy will be applied.