INTRODUCTION TO COMPUTER SCIENCE 2020 SPRING
*** REMINDER ***
The course is particularly designed for the College of Management BBA program and the International Bachelor Program in Agribusiness.
Their credits earned are accounted for the credits required for graduation.
Students who are from School of Electrical Engineering and Computer Science, School of Engineering and
School of Science might not be approved to take this course and
the credits earned might not be accounted for the credits required for graduation.
*** REMINDER END ***
MUST DOWNLOAD & READ! CLASS SCHEDULE & CODE OF CONDUCT (CS2020 SPRING)
RECOMMENDED! Comments (both good and bad) from former students on DCard!
COURSE OBJECTIVES
The primary objective of this course is to provide introductory knowledge for student knowing how a computer and Internet work,
and how to write a simple program to instruct the computer to solve a problem.
Students will learn the basic working principles of computer technologies,
inlcuding (i) how a computer is organized and (ii) how Internet works.
Some advanced concepts regarding computer science will be introduced.
Moreover, students are expected to appreciate the great ideas contributed by the pioneers in computer science and
realize the usages of computer technologies in various areas such as in smart phones and cars.
LANGUAGE OF INSTRUCTION
The course is particularly designed for undergraduate students from the College of Management and the International Bachelor Program in Agribusiness.
The medium of instruction is English. All the teaching materials including handouts,
examination papers and assignments are in English.
PRE-REQUISITES
- Able to read, write, speak and listen in English.
- Skillful in using IE or other browsers to access the Internet, and search on the web.
- Able to edit reports using word processing software, like MS WORD.
COURSE CONTENTS
- Use of computer and/or cell phone
- Personal: Word processing, financial management, file storage, email, information search, shopping
- Entertainment: Watch video, play music, online games
- Social networking: Facebook, LINE, WhatsApp, Weibo
- Professional: Photo/Film editing, fashion design, software development, scientific research
- History of Computer
- BBC Documentary 1991 Edition
- History of Telephone; History of iPhone
- Hardware
- Computer, iPad, iPhone, iWatch, VR/AR headset and Google Glasses
- Printer, 3D printer, keyboard, monitor
- CPU, RISC, ARM, GPU and GPGPU
- Digital Systems - Basis of a computer
- ASCII Code - Representations of characters in binary code
- Operating Systems
- Software
- Information (Data) Storage and Retrival
- Challenges in ISR - Minimize the memory stroage of a file (a collection of data) and miximize the efficient of file (or data) retrival
- Types of information - Text, audio, image, video, hypertext, document, data file, software
- File extensions - .txt, .mp3, .jpeg, .img, .mpg, .html, .doc (.docx), .ppt (.pptx), .pdf, .xls (.xlsx), .mdb (.accdb) .exe
- Structural data - Text, number, date/time, currency, yes/no, categorical data
- Database (Structural data) -> File -> Record -> Field -> Byte -> Bit
- Giant information base - World Wide Web
- Networking - Communications amongst computers and mobile devices
- Security
- Programming(*) - Building software/apps
- C Language
- C program examples in PDF (program code)
- Basic C features - Program structure, variables declaration and data types, IF statement, switch case, loops, File I/O.
- Source code, object file and executable file
- C Tutorial from Cprogramming.com, A Little C Primer
- Introduction to DevC, Examples
- Random number related examples: EG 1, EG 2,
EG 3, Poker card shuffling.
- Functions
- Other programming languages - C++, Java, Python, Scripting language, R Language
- Programming languages for scientific research - SPSS, SAS, Matlab, Mathematica, Maple
- Application program interface (API) - Set of instructions for a software to access application programs that are available over the Internet
- Programming language for database management - SQL (Structured Query Language)
- Advanced programming - Systems programming and network programming
- Algorithms(*) - Step-by-step procedure for solving problems
- Problem dependent - Usually, each algorithm can only solve one problem.
- Some problems
- Medium access control (MAC), message routing
- Data storage problem
- Sorting numbers in ascending order: Program code
- Finding roots of a function f(x)
- Jobs allocation problem
- 9-Balls Problem P1, P2, P3
- Complexity of an algorithm - Measure the efficiency of an algorithm and the difficulty of a problem
- Compared with Standard Operating Procedure (SOP)
- HTML
ASSIGNMENTS
- Assignment 1
EXERCISES
- Review Questions: Networking and Network Security
- Review Questions: The Internet Behind the Web
- Review Questions: History of Computer, Inforamtion Systems, E-Commerce, Digital Systems
- Review Questions: Digital Systems, Software, Operating Systems
- Review Questions: C Programming
ASSESSMENTS
- Assignments (Bonus) [10%]
- Class Tests (Bonus) [10%]
- Mid-term Examination [50%]
- Final Examination [50%]
TEACHING MATERIALS
- Lecture Notes available on Course Homepage
- Lecture Notes written on Blackboard
- Handouts to be distributed in the class
- Video on Youtube
- Articles on Wikipedia
- Articles from magazines
- Past Papers (Very useful for your examination!)