CSC 101: INTRODUCTION TO COMPUTER SCIENCE
Note that CSC 101 is now being taught using Moodle:
http://lms.ui.edu.ng/course/view.php?id=64
Students must first enroll at http://teaching.yfolajimi.com/register.html
After which their login details will be sent to them via email
After that, you must visit Moodle from time to time as most of your discussion, online quizzes, forums and assignments will be posted there. Your submissions also have to be uploaded via Moodle: http://lms.ui.edu.ng/course/view.php?id=64
Instructors: Prof. Osofisan, Dr. Folajimi, Dr Makolo and Dr Oladejo
OVERVIEW:
This course is to prepare the students on the Fundamentals of Computer science and Computing. It teaches the basics concepts, Data representation, Computer Organization & Architecture, Problem Solving with Algorithm, Computer Networks and the Internet. The course will feature activities like teaching, demonstration, laboratory activities, chatting, assignment and group discussion. Course evaluation will be based on class attendance, online activities, quizzes, lab work and examination.
TIME TABLE:
THURSDAYS 1.00am - 3.00Ppm
Practical periods and additional lecture periods will be updated
Venue: CBN Lecture Theatre
Textbook
The adopted textbook is : Computer Science Illuminated by N. Dale & J. Lewis, 3rd Edition
Other textbooks will be updated subsequently
Course Policies
WEEK1: Introduction to Computer Science - Overview of the discipline of Computer Science and historical development of Computer Science
This session will feature topics like:
At the end of this session, student should be able to:
Download LECTURE SLIDES ON INTRODUCTORY CONCEPTS OF COMPUTER
WEEK 2: History and Generation of Computers
It took thousands of years for the computer to develop in to the present state. Earlier the process of computing was done by counting with their own figures, stones & through scratches on the sand or walls. But this idea is only for the counting of small entities. So later, various types of computing devices such as ABACUS, Napier's bone slide rule, diffence engine, lady Augusta Ada Lovelace, etc. On the processing of previous calculating machines & continuous development on them, makes modern computer come to this stage Edit summary
WEEK 3 - WEEK 4: Components of Computer System -
Computer software, or just software, is a collection of computer programs and related data that provide the instructions to inform the computer what to do and how to do it. In other words, software is a conceptual entity which is a set of computer programs, procedures, and associated documentation concerned with the operation of a data processing system. We can also say software refers to one or more computer programs and data held in the storage of the computer for some purposes. In other words software is a set of programs, procedures, algorithms and its documentation. The hardware are the touchable parts of the computer system. We have the casing housing quite a number of these components which the are made usable by the software. This session introduces the students to fundamentals of Computer Hardware and Software.
This session will feature topic(s) like:
WEEK 5: Data Representation - Fundamental of Number Bases
Objective: Students should be able to
◦Distinguish amongst categories of numbers
◦Understand Number base System
◦Describe Positional Notation
◦Convert base 10 numbers to number in other bases
◦Describe the relationship between bases 2, 8, and 16
◦Distinguish between analog and Digital data
◦Explain the differences between Analog & Digital data
◦Understand the binary format for Negative & Floating point values
◦Describe the characteristics of ASCII and UNICODE character set
◦Define data compression
WEEK 6: Boolean Algebra
At the end of this session, students should be able to
WEEK 7: Introduction to Computer Network and Internet
Topic to be covered include:
WEEK 8: PROBLEM SOLVING AND ALGORITHM DEVELOPMENT Flowchart
At the end of this session, students are expected to be able to:
Week 8: First C/A Test
Week 9: INTRODUCTION TO PROGRAMMING
Week 10: Python expressions and input and output operations
◦Displaying string outputs
◦Mixed output
◦Output examples
◦Arithmetic operations in Python
◦Logical operations in Python
◦Order of operations
◦Numeric data types
◦Converting between types
◦Output operations
◦Output formatting and formatting effects
◦tripple quoted outputs
◦Escape codes
◦program documentation
Week 11:Branching/Decision-making in Python
SECOND C/A Test
Week 12: Loops in Python
This week, students will learn how to return parts of your program without having to duplicate the codes.
At the end of this session, students should be able to understand
Week 13: Working with Functions
This week, students will learn how to write functions that can be used to decompose large problems, and to reduce program size by creating reusable sections. topics include:
Week 14-15: Summary and Exam
Note that CSC 101 is now being taught using Moodle:
http://lms.ui.edu.ng/course/view.php?id=64
Students must first enroll at http://teaching.yfolajimi.com/register.html
After which their login details will be sent to them via email
After that, you must visit Moodle from time to time as most of your discussion, online quizzes, forums and assignments will be posted there. Your submissions also have to be uploaded via Moodle: http://lms.ui.edu.ng/course/view.php?id=64
Instructors: Prof. Osofisan, Dr. Folajimi, Dr Makolo and Dr Oladejo
OVERVIEW:
This course is to prepare the students on the Fundamentals of Computer science and Computing. It teaches the basics concepts, Data representation, Computer Organization & Architecture, Problem Solving with Algorithm, Computer Networks and the Internet. The course will feature activities like teaching, demonstration, laboratory activities, chatting, assignment and group discussion. Course evaluation will be based on class attendance, online activities, quizzes, lab work and examination.
TIME TABLE:
THURSDAYS 1.00am - 3.00Ppm
Practical periods and additional lecture periods will be updated
Venue: CBN Lecture Theatre
Textbook
The adopted textbook is : Computer Science Illuminated by N. Dale & J. Lewis, 3rd Edition
Other textbooks will be updated subsequently
Course Policies
- Attendance is mandatory.
- A student must obtain 70% attendance to qualify for exam
- Getting to class late or leaving early counts as half an absence.
- Moodle (http://lms.ui.edu.ng/course/view.php?id=64) will be used for course discussion.
- This web page is not a substitute for moodle. All students must enroll on Moodle and check on it from time to time as most assignments, forums and discussion will be posted there.Homework and lab assignments must be submitted in hard copy and/or via Moodle depending on instructions
- All submitted work (including exams) must include your name and Matric Number
- Plagiarism or copying from your classmates cannot be tolerated
- Cell phones must be turned off during class.
- Students will be informed of any modifications of the syllabus during the semester.
WEEK1: Introduction to Computer Science - Overview of the discipline of Computer Science and historical development of Computer Science
This session will feature topics like:
- Definition of Computer Science
- Overview of the discipline of Computer Science
- Application of Computer Science
At the end of this session, student should be able to:
- Understand the Chronology of Computer Systems
- Distinguish between Computer Hardware & Software
- Determine the distinction between System & Application programmer
Download LECTURE SLIDES ON INTRODUCTORY CONCEPTS OF COMPUTER
WEEK 2: History and Generation of Computers
It took thousands of years for the computer to develop in to the present state. Earlier the process of computing was done by counting with their own figures, stones & through scratches on the sand or walls. But this idea is only for the counting of small entities. So later, various types of computing devices such as ABACUS, Napier's bone slide rule, diffence engine, lady Augusta Ada Lovelace, etc. On the processing of previous calculating machines & continuous development on them, makes modern computer come to this stage Edit summary
WEEK 3 - WEEK 4: Components of Computer System -
Computer software, or just software, is a collection of computer programs and related data that provide the instructions to inform the computer what to do and how to do it. In other words, software is a conceptual entity which is a set of computer programs, procedures, and associated documentation concerned with the operation of a data processing system. We can also say software refers to one or more computer programs and data held in the storage of the computer for some purposes. In other words software is a set of programs, procedures, algorithms and its documentation. The hardware are the touchable parts of the computer system. We have the casing housing quite a number of these components which the are made usable by the software. This session introduces the students to fundamentals of Computer Hardware and Software.
This session will feature topic(s) like:
- Identification of the basic Components of Computer Systems
- General structure and internal structure of computer systems
- Software components
- Hardware components
- Microcomputer technology
- Basic computer organization
- Central Processing Unit, Computer Memory, Input/Output ports etc
WEEK 5: Data Representation - Fundamental of Number Bases
Objective: Students should be able to
◦Distinguish amongst categories of numbers
◦Understand Number base System
◦Describe Positional Notation
◦Convert base 10 numbers to number in other bases
◦Describe the relationship between bases 2, 8, and 16
◦Distinguish between analog and Digital data
◦Explain the differences between Analog & Digital data
◦Understand the binary format for Negative & Floating point values
◦Describe the characteristics of ASCII and UNICODE character set
◦Define data compression
WEEK 6: Boolean Algebra
At the end of this session, students should be able to
- Understand the concept of Logic Gates and Truth Tables
- Understand the Basic Rules of Boolean Algebra
- Solve simple Boolean logic operations problems
- Edit summary
WEEK 7: Introduction to Computer Network and Internet
Topic to be covered include:
- •Introduction to computer network: LAN, MAN and WAN
- •Applications of network
- •Network topology
- •Concepts of client and server
- •Networking protocols: TCP/IP
- •The Internet: Introduction and history
- •Applications of internet
- •The internet, intranet and extranet
- •Network address
- •DNS, HTTP, URL, FTP, TELNET
- •The World Wide Web
- •How the Internet works
WEEK 8: PROBLEM SOLVING AND ALGORITHM DEVELOPMENT Flowchart
At the end of this session, students are expected to be able to:
- •Understand the concept of broblem solving with computer
- •Understand the software development methodology:
- ¢Specification of needs
- ¢Problem analysis
- ¢Design and algorithmic representation
- ¢Implementation
- ¢Testing and verification
- ¢Documentation
- •Understand pseudocode and flowchart functionality,
- •Develop simple flowcharts, and pseudocodes,
Week 8: First C/A Test
Week 9: INTRODUCTION TO PROGRAMMING
- Software and programming concept
- Machine language, assembly Language and High Level languages
- Key software trend: procedural and object oriented languages
- Software creation process
- Programming errors (syntax errors, runtime errors, logic errors)
- Introduction to Python Language
- Creating and executing Python programs (Ms-DOS)
- Creating and executing Python programs (Ms-Windows)
- Introduction to IDLE (Python GUI)
- Memory concepts and variables
- Python Identifiers
- Reserved words in Python
- Named constants versus literals
Week 10: Python expressions and input and output operations
◦Displaying string outputs
◦Mixed output
◦Output examples
◦Arithmetic operations in Python
◦Logical operations in Python
◦Order of operations
◦Numeric data types
◦Converting between types
◦Output operations
◦Output formatting and formatting effects
◦tripple quoted outputs
◦Escape codes
◦program documentation
Week 11:Branching/Decision-making in Python
- •Allowable relational operations for boolean expressions
- •The 'if' construct
- •Decision making with the "if-else" conctruct
- •Evaluating Logical "And", "or" and "Nor" expre4ssions
- •Evaluating more complex logical expressions
- •Compound boolean expressions
- •Decision-making with multiple alternatives
- •Decision making with nested-ifs
- •Decision making with multiple ifs
- •Decision making with if-elif-else
- •Multiple if-elif-else
- •Branching (Decision-making) Examples and exercises
SECOND C/A Test
Week 12: Loops in Python
This week, students will learn how to return parts of your program without having to duplicate the codes.
At the end of this session, students should be able to understand
- •Basic structure of loops
- •Types of loop
- •Pre-test loops in Python
- •The While loop
- •The For loop
- •Sentinel controlled loop
- •solving Problems and programming examples using loops
Week 13: Working with Functions
This week, students will learn how to write functions that can be used to decompose large problems, and to reduce program size by creating reusable sections. topics include:
- •Top-down design
- •Procedural programming
- •Defining a function
- •calling a function
- •Working with local and global variables
- •Parameter passing
- •Function pre-conditions and post-conditions
Week 14-15: Summary and Exam