F09_CSE145+Introduction+to+Computing

=CSE145: Introduction to Computing=

Instructor:
Asma Larik

Course Description
The objective of this course is an introduction to principles that lay the foundation of computer science for students with no prior background in computing. This course is suitable for students with a non-technical background who wish to study the key principles of computer science rather than just computer programming. The course is designed to make students understand that computing is not just a single discipline but is a family of disciplines such as Computer Science, Computer Engineering, Information Systems, Information technology and Software Engineering etc. Essential Computer Mathematics is taught to strengthen the computing techniques by making Number Systems, Boolean Logic, Computer Graphics recognized. Problem solving techniques and their representation in the form of Flow charts, algorithms, pseudo codes are introduced. Topics include the history of computation, writing algorithms and using programming constructs, data organization, the role of the compiler, programming language paradigm, recursion, algorithm correctness and efficiency, limits of computability and the Turing machine as a universal computer, the role of the operating system, an introduction to artificial intelligence, and software engineering. Software Application and Tools are also taught for complete understanding of computing.

Introduction, preliminaries and overview
CPU Execution Cycle, Data Organization in Main Memory, Data storage, Data Manipulation in bits and bytes, Introduction to Hardware, Software their key differences, Input/Output devices their applications etc. Basic computer architecture, introduction to Buses and Registers

Problem Solving Techniques
Divide and Conquer strategy, Basic techniques focusing on finding solution to a problem. Various forms of representation include algorithms, Flowchart representation, pseudo codes, Complexities of algorithm with a brief overview of BigO notation

Essential Computer Mathematics
Number System including Binary Hexadecimal Octal their interconversion, Computer Codes including ASCII BCD EBCDIC, Logic Gates, Graphs

History of Computing
Different generations in which computing evolved

Overview of Programming Languages
An overview of different Programming Languages, Difference between traditional, Modular and Object Oriented Programming Languages would be focused

Basic Programming Techniques
Integer constants, Real Constants, Complex Constants, Double Precision Constants, Logical Constants, Variable Names, Types of Variables, Subscripted Variables, Dimension Statements, Equivalance Statements. Machine features, Floating-point Arithmetic, Assembly language, Evaluation of special functions, Closed subroutines, Iterative structures, and recursive structures.

Overview of Compilers
Basic compiler preliminaries

Overview of Operating Systems
History, architecture, basic functionality ,overview of various OS available including Linux, Microsoft, MS DOS etc

Overview of Networking and Internet
Networking Fundamentals, Worldwide web, various internet protocols, security etc

Overview of Different Disciplines of Computer Science
Including Software Engineering, Database Systems, Computer Graphics, Artificial Intelligence, Theory of Computation etc

Overview of Different Application Softwares and ScriptingLanguages
Including MS Word, Powerpoint, Excel, Access, Javascript

Text Book
Computer Science : An Overview, 6 /E J. Glenn Brookshear ISBN-13: 9780321524034, Publisher: Prentice Hall

=Reference Books=

=Grading Policy= 2 Midterms 30% Final Exam 40% Assignments 10% Quiz 5% Project + Labs 15%
 * 1) Balanced Introduction to Computer Science 2/EDavid Reed ISBN-13: 9780136017226, Publisher: Prentice Hall
 * 2) Computers Today 2/E by Donald Sanders Publisher: MacGraw Hill
 * 3) Computing Essentials 2006 O'Leary Series Publisher: Mac Graw Hill