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