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.
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,
- Come to the classes physically and the instructor will help you during or after classes.
- 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 a face-to-face or Zoom appointment other than the office hours.
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 and makes the subject studies much easier. Students will not have problem learning the subjects or taking the exams after studying them and doing programming exercises.
Grading:
|
|
|
Announcements:
- Updated constantly: Class notes:
- undcemcs02 (most up-to-date and requiring a VPN connection)
- undcemcs01 (no VPN required, but may not be up-to-date)
- If you need helps for the programming exercises,
- Come to the classes physically and the instructor will help you during or after classes.
- 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 a face-to-face or Zoom appointment other than the office hours.
- Wednesday, April 10: Exam II to be held at 6:30pm–8:30pm (CST) for all students
- Friday, March 29: Exam II rules and question distribution posted
- Wednesday, February 21: Exam I to be held at 6:30pm–8:30pm (CST) for all students
- Monday, February 12: Exam I rules and question distribution posted
- Friday, February 16: Programming Exercise II due before the Exam I because HTML will be covered in the exam, but the due date will not be enforced
- Friday, January 26: Programming Exercise II posted
- Friday, February 02: Programming Exercise I due
- Wednesday, January 17: Programming Exercise I posted
- Monday, January 08: Register this course via Course Registration.
Tentative Schedule:
Week
|
Class |
Topic |
Due |
Where |
0 |
|
0. Computer Career and Data Research & Technologies |
|
|
0.1 A computer career |
|
|
0.2 Data research |
|
|
0.3 Data technologies |
|
|
1 |
01/10 01/12 |
1. Introduction to CSCI 101 |
|
|
1.1 Course outline |
|
|
1.2 Tentative schedule |
|
|
1.3 Topics to be covered |
|
|
2 |
01/17 01/19 |
2. Fundamental Software Development Tools |
|
|
2.1 Programming Exercise I |
|
|
2.2 Linux operating system |
|
|
2.3 Emacs editor |
|
|
01/18 |
Last day to add a course or drop without record
Last day to add audit or change to/from audit
Last day to receive a refund on a dropped class
Drops after the last day to add will appear on a transcript.
|
|
|
01/15 |
|
|
|
Holiday, Martin Luther King Jr. Day (Monday) — no classes
|
|
|
|
3 |
01/22 01/24 01/26 |
3. Operating Systems (OSs) |
|
|
3.1 OS architecture |
|
|
3.2 OS process management |
|
|
3.3 OS memory management |
|
|
4 |
01/29 01/31 02/02 |
4. The World Wide Web |
|
|
4.1 A website architecture |
|
|
4.2 Technologies for website building |
|
|
4.3 World Wide Web programming |
EX I |
|
5 |
02/05 02/07 02/09 |
5. HTML (HyperText Markup Language) |
|
|
5.1 Introduction to HTML |
|
|
5.2 HTML tags |
|
|
5.3 HTML syntax |
|
|
6 |
02/12 02/14 02/16 |
6. HTML (Cont.) |
|
|
6.1 HTML forms and input |
|
|
6.2 HTML frames and iframes |
|
|
6.3 HTML5 |
|
|
7 |
02/23 |
7. CSS (Cascading Style Sheet) |
|
|
7.1 Introduction to CSS |
|
|
7.2 CSS basics |
|
|
7.3 CSS syntax |
|
|
02/19 |
|
|
|
Holiday, Presidents’ Day (Monday) — no classes
|
|
|
|
02/21 |
|
|
|
Exam I (for both on-campus and on-line students; 6:30pm – 8:30pm, Wednesday)
|
|
|
|
8 |
02/26 02/28 03/01 |
8. Programming Languages |
|
|
8.1 Language generations |
|
|
8.2 Language survey |
|
|
8.3 Language processing |
|
|
9 |
03/04 – 03/08 |
|
|
|
Spring Break — no classes
|
|
|
|
10 |
03/11 03/13 03/15 |
10. Data Structures and Algorithms |
|
|
10.1 Introduction |
|
|
10.2 Data Structures |
|
|
10.3 Algorithms |
|
|
11 |
03/18 03/20 03/22 |
11. A Computer History |
|
|
11.1 Historical perspective |
|
|
11.2 Personal computers |
|
|
11.3 Smartphones |
|
|
12 |
03/25 03/27 |
12. Computer Architecture |
|
|
12.1 Under the covers |
|
|
12.2 Computer mice and monitors |
|
|
12.3 Processor technologies |
|
|
03/29 |
|
|
|
Holiday, Good Friday — no classes
|
| |
|
13 |
04/03 04/05 |
13. Computer Architecture (Cont.) |
|
|
13.1 Memory technologies |
|
|
13.2 Computer Networks |
|
|
13.3 Chip manufacturing process |
|
|
04/05 |
Last day to change to or from S/U grading
Last day to change to or from audit grading
Last day to drop a full-term course or withdraw from school
|
|
|
04/01 |
|
|
|
Easter holiday (Monday) — no classes
|
| |
|
14 |
04/08 04/12 |
14. Smartphones |
|
|
14.1 Smartphone structure |
|
|
14.2 Smartphone components |
|
|
14.3 Mobile operating systems |
|
|
04/10 |
|
|
|
Exam II (for both on-campus and on-line students; 6:30pm – 8:30pm, Wednesday)
|
|
|
|
15 |
04/15 04/17 04/19 |
15. Smartphones (Cont.) |
|
|
15.1 Mobile processors |
|
|
15.2 Memory |
|
|
15.3 Synchroniztion |
|
|
16 |
04/22 04/24 04/26 |
16. Smartphones (Cont.) |
|
|
16.1 Computer networks |
|
|
16.2 Mobile networks |
|
|
16.3 Mobile payment methods |
|
|
17 |
04/29 05/01 |
17. Databases |
|
|
17.1 Introduction to databases |
|
|
17.2 Relational databases |
|
|
17.3 Relational tables |
EX II |
|
18 |
05/08 |
|
|
|
Final exam (for both on-campus and on-line students; 6:30pm – 8:30pm, Wednesday)
|
|
|
|
19 |
05/14 |
Grades posted before noon, Tuesday |
|
|
Other than some contemporary computer issues, four foundations of computer science and technologies will be covered in this course:
- Programming languages,
- Computer architecture,
- Operating systems, and
- Computer algorithms and theories.
|
|
|
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:
- CSCI 101 Introduction to Computers
- CSCI 250 Computer Organization and Programming
- CSCI 260 .NET and Web Programming
- CSCI 280 Object-Oriented Programming (Java)
- CSCI 351 Introduction to File Processing
- CSCI 370 Computer Architecture
- CSCI 399 Handheld Computing
- CSCI 457 Electronic Commerce Systems
- CSCI 513 Advanced Database Systems
- CSCI 515 Data Engineering and Management
- DATA 520 Databases
- DATA 525 Data Engineering and Mining
- CSCI 532 Programming Languages and Paradigms
- COMP 6120 Database Systems I
- COMP 6210 Compiler Construction
- COMP 7120 Database Systems II
- COMP 8140 Advanced Document Analysis and Classification Systems
University of North Dakota Course Description (CSCI 101) —
An overview of the fundamental concepts and applications of computer science.
Topics include data storage, hardware, operating systems, and programming principles.
The Course Missions —
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.
Four Programming Exercises —
The four exercises are related, and the goal is to build a simple, dynamic website (without using a database) step-by-step:
- (10%) Client-server connection (VPN),
- (10%) A static website (HTML and CSS),
- (10%) Web-Python connection (CGI), and
- (10%) A dynamic website (Python).
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) —