SYLLABUS

CSCI 101 Introduction to Computers
(a resourceful gateway to contemporary computer technologies and knowledge)
School of Electrical Engineering and Computer Science, University of North Dakota
Spring 2024

Class times: 03:35am – 04:25am, MoWeFr
Classroom: Leonard Hall 110
Credit hours: 3
Class pages: http://undcemcs01.und.edu/~wen.chen.hu/course/101/
 
Instructor: Wen-Chen Hu   (my teaching philosophy)
Email: wenchen@cs.und.edu
Zoom ID: https://und.zoom.us/j/2489867333
Office: Upson II 366K
Office hours: 12:30pm – 02:30pm, TuTh
 
Teaching assistant: Zhanglong Yang
Email: zhanglong.yang@und.edu
Zoom ID: https://und.zoom.us/j/2841140921
Office: Upson II 216
Office hours: 12:30pm – 02:30pm, MoWeFr

Class Attributes
Math/Science/Technology Essential Studies requirement for information literacy

Synchronous Class Delivery
The class lectures will be delivered synchronously via https://und.zoom.us/j/2489867333, and the Zoom video will be posted on the Blackboard afterwards. Students can watch the video clips anytime they want.

Lecture Notes
No textbook will be used. Instead award-winning, interactive, informative, and practical lecture notes (based on books, papers, online documents, and user manuals) and detailed and precise class instructions will be provided. Collectively, the lecture notes and instructions are more like a small book, which supplies much more information than regular notes do. Students will not have problem learning the subjects or taking the exams after studying them and doing programming exercises.

Course Description
An overview of the fundamental concepts and applications of computer science. Topics include data storage, hardware, operating systems, and programming principles.

Objectives
This course is for non-computer-science majors, so no advanced computer knowledge and programming will be covered. After taking this course, students learn how to use various fundamental computer tools:
  • Remote working via VPN (virtual private network),
  • Using a popular, open-source operating system and tools like Linux and Emacs,
  • Building simple, dynamic websites, and
  • Practicing simple Python programming.
In addition to the above experiences, students will be familiar with the following practical computer subjects:
  • The four computer foundations: (1) programming languages, (2) computer architecture, (3) operating systems, and (4) computer algorithms and theories,
  • Data processing including data representations and databases, and
  • Electronic and mobile commerce systems.
Evaluations
    Four programming exercises:
      1. Client-to-server connection (VPN)  ——  10%
      2. A static website (HTML & CSS)      ——  10%
      3. A dynamic website (CGI)            ——  10%
      4. Simple programming (Python)        ——  10%
    Two exams                               ——  20% each
    Final exam                              ——  20%

Programming Helps
The four programming exercises have each student step-by-step build a simple, dynamic website, which may be the most useful and popular IT system. By doing the exercises, students will gain essential knowledge and experience of using computers because they require you to know how to use various fundamental computer tools (like Linux, HTML, and Python). If you need helps for the programming exercises,
  • You may come to the classes physically and the instructor will help you during or after classes.
  • You can come to the instructor’s or TA’s office during the office hours.
  • We can do it over the Zoom during the office hours, but it would take much time.
  • Send an email to the instructor for an appointment other than the office hours.
Tentative Schedule
    Week        1  ——  Introduction
    Week        2  ——  Programming Exercise I construction 
    Week        3  ——  Operating Systems
    Week        4  ——  The World Wide Web
    Weeks   5 & 6  ——  HTML (HyperText Markup Language)
    Week        7  ——  CSS  (Cascading Style Sheet) 
    Weeks  8 & 10  ——  Programming Languages
    Week       11  ——  Data Structures and Algorithms
    Week       12  ——  Data Representations
    Week       13  ——  Databases
    Weeks 14 & 15  ——  Computer Architecture
    Weeks 16 & 17  ——  Smartphones

Instructor’s Qualification
The instructor is well qualified for teaching this entry-level course because he has been teaching at the US universities for more than 25 years. The following list shows a range of courses being taught by him:
  1. CSCI 101 Introduction to Computers
  2. CSCI 250 Computer Organization and Programming
  3. CSCI 260 .NET and Web Programming
  4. CSCI 280 Object-Oriented Programming (Java)
  5. CSCI 351 Introduction to File Processing
  6. CSCI 370 Computer Architecture
  7. CSCI 399 Handheld Computing
  8. CSCI 457 Electronic Commerce Systems
  9. CSCI 513 Advanced Database Systems
  10. CSCI 515 Data Engineering and Management
  11. DATA 520 Databases
  12. DATA 525 Data Engineering and Mining
  13. CSCI 532 Programming Languages and Paradigms
  14. COMP 6120 Database Systems I
  15. COMP 6210 Compiler Construction
  16. COMP 7120 Database Systems II
  17. COMP 8140 Advanced Document Analysis and Classification Systems
Computer System Level Hierarchy

Level Virtual Machine Comments
5 High-level language Examples are C, C++, and Java.
4 Assembly language Assembly language uses short mnemonics such as ADD, SUB, and MOV that are easily translated to the machine language.
3 Operating system The low-level software which handles the interface to peripheral hardware, schedules tasks, allocates storage, and presents a default interface to the user
2 Instruction set architecture (ISA) Machine language. Each machine-language instruction is executed by several microinstructions.
1 Microarchitecture A technique for implementing the instruction set of a processor as a sequence of microcode instructions
0 Digital logic Physical machine hardware

A Simplified Structure of an Operating System (OS)


A System Structure of Basic Computer Systems


A Language Processing System


A Mobile Handeld Device (Smartphone)


Dishonesty
Under no circumstances will acts of academic dishonesty be tolerated. Any suspected incidents of dishonesty will be promptly referred to the Assistant Dean of Students. Refer to the Code of Student Life, Appendix B.2: Academic Dishonesty.

Disability
Students who need special accommodations for learning or who have special needs are invited to share these concerns or requests with the instructor as soon as possible.