Course Objectives
1. To understand basic constructs (sequence, selection, and repetition) used in structured programming and express them in pseudocode.
2. To understand basic algorithms for searching and sorting and express them in pseudocode.
3. To write C programs for basic searching and sorting.
4. To understand basic data structures (stack, queue, list, and tree).
5. To write pseudocode for simple data IO algorithms with stack and queue.
6. To understand basic major terms and concepts in representation and encoding of media information such as a sound and an image.
Rubric
| Ideal Level | Standard Level | Unacceptable Level |
1. Be able to express basic constructs in pseudocode | Very correctly | Almost correctly with few errors | Never or with many errors |
2. Express basic searching and sorting algorithms in pseudocode | Very correctly | Almost correctly with few errors | Never or with many errors |
3. Make C programs for basic searching and sorting | Very correctly | Almost correctly with few errors | Never or with many errors |
4. Describe basic data structures | Very correctly | Almost correctly with few errors | Never or with many errors |
5. Write pseudocode for simple data IO algorithms with stack and queue | Very correctly | Almost correctly with few errors | Never or with many errors |
6. Describe basic major terms and concepts of media information processing | Very correctly | Almost correctly with few errors | Never or with many errors |
Assigned Department Objectives
Teaching Method
Outline:
This course introduces algorithms and data structures which are essential in programming to students taking this course.
After studying the concept and importance of an algorithm and a data structure, typical algorithms and basic data structures for searching and sorting are introduced.
Keywords: programming, pseudocode, C language, algorithm, searching, sorting, data structure
Style:
Classes are conducted lectures, exercises and practices.
A small test which covers the previous lesson contents are conducted at each lesson.
Students have to read the textbook before each lesson.
Several programming exercises are assigned as your homework.
Notice:
Do not hesitate to ask if any questions. Students may ask any questions in the classroom, in the teacher's office, also using Microsoft Teams.
Although students may do assignments with discussion with each other, it is NOT allowed to submit the copy version of any deliverables made by others including on the internet. Any cheating will make scores for all assignments 0.
Characteristics of Class / Division in Learning
Course Plan
|
|
|
Theme |
Goals |
1st Semester |
1st Quarter |
1st |
Introduction of the module and "algorithm" |
To explain what an algorithm is.
|
2nd |
Flow-chart, Basic constructs |
To express with flowcharts for a simple process with basic constructs.
|
3rd |
Pseudocode, Evaluation criteria for algorithms |
To express basic constructs in pseudocode. To describe evaluation criteria for an algorithm.
|
4th |
Array and hash table |
To express with flowcharts and pseudocode for a simple process with arrays and hash tables.
|
5th |
Linked list |
To express with flowcharts and pseudocode for a simple process with linked list.
|
6th |
Stack and queue |
To express with flowcharts and pseudocode for a simple process with stacks and queues.
|
7th |
Tree |
To express with flowcharts and pseudocode for a simple process with stacks and queues.
|
8th |
Mid-term exam |
|
2nd Quarter |
9th |
Representation and processing of media infomation |
To explain fundamental knowledges about formats and digitization of media information such as audio and video.
|
10th |
Linear search |
To explain the principle of the linear search. To express with flowcharts, pseudocode, and C language for a simple process with linear search.
|
11th |
Binary search, Complexity for searching |
To explain the principle of the binary search. To express with flowcharts, pseudocode, and C language for a simple process with binary search.
|
12th |
Selection sort |
To explain the principle of the selection sort. To express with flowcharts, pseudocode, and C language for a simple process with selection sort.
|
13th |
Bubble sort |
To explain the principle of the bubble sort. To express with flowcharts, pseudocode, and C language for a simple process with bubble sort.
|
14th |
Insertion sort |
To explain the principle of the insertion sort. To express with flowcharts, pseudocode, and C language for a simple process with insertion sort.
|
15th |
Merge sort, Quicksort |
To explain the principle of the merge sort and the quicksort. To express with flowcharts, pseudocode, and C language for a simple process with the merge sort and the quicksort.
|
16th |
Final exam |
|
Evaluation Method and Weight (%)
| Exam | Quiz | Assignment | Total |
Subtotal | 60 | 10 | 30 | 100 |
Basic Proficiency | 0 | 0 | 0 | 0 |
Specialized Proficiency | 60 | 10 | 30 | 100 |
Cross Area Proficiency | 0 | 0 | 0 | 0 |