The American university in Cairo

Computer Science & Engineering Department

CSCE 106

Fundamentals of Computer science

Course Layout - Fall 2009

http://www.cse.aucegypt.edu/~csci106k/

Course: CSCE 106-05&09 “Fundamentals of Computer Science

Credit Hours: 3

Instructor: Dr. KHALIL E-Mail:

Office: Room 2148 SSE

Office hours: 8:30 - 11:30 am Monday

Lab Instructor: TBA

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 106, 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, Abstraction, and Design Using C++”, Frank L. Friedman and Elliot B. Koffman. Addison Wesley. Fifth Edition. ISBN: 0-321-24803-1

Topics to be covered in the course

1.  Introduction to Computers (Ch 1)

(1 weeks)

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 (Ch 1) (1 week)

3. Basic Math concepts

(2 weeks)

Number Systems

Decimal, Binary, and Hexadecimal Number Systems

Information Representation Integer, Floating-point, and character representations

Arithmetic operations in Two’s Complement

4. Problem Solving Concepts

(9 weeks)

4.1 Problem Solving Methodologies (Ch 1)

Algorithmic Methodology

Software Engineering Methodology

Top-Down Design, Problem breakdown and abstraction

Object-Oriented Design

4.2 Program Development in C++ (Ch 2)

C++ Language Elements

Data Types, Declarations, and Output

Executable Statements

General Form of a C++ Program

4.3 Arithmetic Operations (Ch 2)

Using Variables

Input, String Variables

Using Constants

Mixed Mode Operations

4.4 Top-Down Design With Functions and Classes (Ch 3)

Library Functions

Top-Down Design and Structure Charts

User-Defined Functions

Scope of Identifiers

4.5 Selection Structure (Ch 4)

Boolean Expressions

If Statements

Nested and Extended If Statements

Switch Statements

4.6 Repetition Structure (Ch 5)

Classification of Loops

for Loops

while loops

do … while loops

Loop Verification

Nested Loops

4.7 Modular Programming (Ch 6)

Value and Reference Parameters

Functions with Output and Input Parameters

4.8 Arrays (Ch 9)

Array Structure

Using Arrays

Array Parameters and Functions

Research Paper:

In this assignment, students are encouraged to work in groups of 2 or 3 students at most. Each group is asked to write a research paper and give a presentation on one the following topics(Due Date: Sunday, November 29),

1.  Data Storage

2.  Operating Systems

3.  Networking and the Internet

4.  Algorithms

5.  Programming Languages

6.  Software Engineering

7.  Database Systems

8.  Computer Graphics

9.  Artificial Intelligence

10.  Web-based Applications

Programming Laboratory:

This part will accompany the regular classes.

The C++ Programming Environment

C++ Language Elements.

Arithmetic Expressions.

Arithmetic and Assignment.

Boolean, Conditionals, and Loops

Arrays.

Exams:

Exam I: Sunday,October 18, 2009.

Exam II: Sunday, November 29, 2009.

Assignments:

1.  Number Systems

2.  Problem Solving & Programming in C++

Grading System:

Activity

/

Points

Exam I

/

20

Exam II

/

20

Quizzes

/

10

Research & Presentation

/

10

Assignments & Laboratory

/

10

Attendance & Contribution

/

5

Final Exam

/

25

Total

/

100

Attendance Policy:

1.  The first unexcused absence will not receive a penalty.

2.  The 2nd through 6th unexcused absences will receive penalties of 1 percentage point deducted from the total course grade.

3.  The next 4 unexcused absences will result in penalties of 2 points deducted from the total course grade.

4.  If a student misses more than 10 classes, he/she will automatically receive a grade “F” for the course.

5.  The only excuses accepted will be from the Office of Students Affairs. There will be no exceptions.

Good Luck

1