CSE1007 : Introduction to Computer Science
Topic: Introduction to the Course
Dr. Sakshi Babbar
Associate Professor
Department of Computer Science & Engineering, GD Goenka University, Gurgaon
Course Outline
1. Introduction to Computer I functional blocks of computer
I Number system
I Understanding Data and Information I Flowchart and Algorithms
2. Core areas in Computer Science I Introduction to Databases
I Introduction to computer programming languages
I Introduction to computer Networking I Introduction to Operating systems
3. Constructs of programming languages I Understanding C program constructs
I Control structures I I/O in C program
4. Functions and Pointers
5. Array, String and File Handling
Course Contents
Unit 1: Introduction to Computer Science: What is Computer, Basic Applications of Computer; Components of computer System, Central Processing Unit (CPU), VDU, Keyboard and Mouse, Other input/output Devices, Computer Memory, Concepts of Hardware and Software; Concept of Computing, Data and Information, Number System, Flowchart and Algorithm [Lecture Load: 4 hrs]
Unit 2 - Core areas of computer science: Introduction to operating system, data base management system, computer networks, role of programming languages, different types of languages,
introduction to object oriented languages, web based languages and scientific languages, converting algorithm in a computer language[Lecture Load: 4 hrs]
-Unit 4 - Functions and Pointers: Recursion, Introduction to Pointers, Accessing the address of a variable, Declaring Pointer Variables, Initialization of Pointer Variables, Accessing a variable through its pointer, Call by Value & Call by Reference, Prototype ? declaration - arguments (formal and actual) ? return types ? types of functions difference between built-in and user-defined functions.[Lecture Load: 7 hrs]
Unit 5 - Arrays, Strings and File Handling: Array handling, declaration of single dimensional, two dimensional and multi-dimensional arrays. Array order reversal, string handling function, manipulation on strings, array of structures, structure to functions, unions, difference between structure and union. Introduction to file handling, opening a file, reading from a file, writing in a file[Lecture Load: 8 hrs]
Evaluation, Textbooks and Course Website
Evaluation:
1. Mid semester
I Assignments/quiz : 10 marks
I MS 1 + MS 2: 30 marks (both are mandatory. Average would be considered.)
I MS2 : project based
2. End semester
I 60 marks( Focus would be on technical questions than theory )
Textbooks:
1. Alexis Leon, Mathews Leon, ?Introduction to Information Technology?, Tata McGraw-Hill, 1999
2. E. Balagurusamy, ?Computing Fundamentals And C Programming?, Tata McGraw-Hill, 2008
3. Brian W. Kernighan, Dennis M. Ritchie, ?The C programming Language?, Prentice-Hall, 2nd edition, 2013
Objectives of the Course:
I To make students understand various computer components.
I To make students understand important computer science areas such as, operating system, data base management system, computer networks, and fundamentals of programming
I To develop skills to solve a given problem using computer programming language.
Course Outcomes:
I To develop better understanding in computer science domain.
I Attain good knowledge on core areas of computer science.
I To apply knowledge of syntax and semantics of a programming language into small to medium size programs
I To apply knowledge of programming language for developing small applications.
Why study this course?
We need this course because computers are used in every domain. It is required for us to learn how to “communicate” with computers. We need this course so as to:
1. Interact with computers
2. Develop problem solving skills
3. To identify an area in computer science that a students finds interesting to explore further.
Why computers are important?
1. Efficient
2. Provide automation
Real-World Applications of C
1. Operating Systems
Scripting of UNIX operating system was the primary purpose behind creation of C. Additionally, as programs scripted in C get executed with speeds equivalent to assembly language, C language has been an integral part of the development of multiple operating systems. Unix-Kernel, Microsoft Windows utilities and operating system applications, and a large segment of the Android operating system have all been scripted in C. 2. Development of New Languages:
Efficiency of code execution and simplicity have resulted in C directly or indirectly influencing development of many languages including C++ which is C with classes, C#, D, Java, Limbo, JavaScript, Perl, UNIX?s C Shell, PHP and Python. These languages use C in variable capacity: for instance, in Python, C is used for building standard libraries, while others like C++, Perl and PHP have syntax and control structures based upon C. 3. Computation Platforms:
Various features of C including direct access to machine level hardware APIs, presence of C compilers, deterministic resource use and dynamic memory allocation make C language an optimum choice for scripting applications and drivers of embedded systems
4. Graphics and Games:
C language has been used in the development of a variety of graphics and gaming applications, such as chess, bouncing ball, archery etc.