Course code | CSCI3270 |
Course title | Advanced Programming Laboratory 高級程序設計實驗 |
Course description | The course will mainly focus on programming exercises for advanced data structures and algorithms. Topics include dynamic programming, computational geometry, number theory, simulation, combinatorial problems, optimization techniques, graph theory, etc. 本科著重於高級數據結構和算法的程序編寫訓練。專題包括動態規劃,計算幾何,數論,模擬,組合問題,優化技術,圖論等等。 |
Unit(s) | 2 |
Course level | Undergraduate |
Pre-requisite | CSCI2100 or ESTR2102 |
Exclusion | CSCI3160 or ESTR3104 |
Semester | 1 or 2 |
Grading basis | Graded |
Grade Descriptors | A/A-: EXCELLENT – exceptionally good performance and far exceeding expectation in all or most of the course learning outcomes; demonstration of superior understanding of the subject matter, the ability to analyze problems and apply extensive knowledge, and skillful use of concepts and materials to derive proper solutions. B+/B/B-: GOOD – good performance in all course learning outcomes and exceeding expectation in some of them; demonstration of good understanding of the subject matter and the ability to use proper concepts and materials to solve most of the problems encountered. C+/C/C-: FAIR – adequate performance and meeting expectation in all course learning outcomes; demonstration of adequate understanding of the subject matter and the ability to solve simple problems. D+/D: MARGINAL – performance barely meets the expectation in the essential course learning outcomes; demonstration of partial understanding of the subject matter and the ability to solve simple problems. F: FAILURE – performance does not meet the expectation in the essential course learning outcomes; demonstration of serious deficiencies and the need to retake the course. |
Learning Objectives | Objectives: related Outcomes 1. Requirements and specifications: 3, 4, 5 2. Fundamental data structures and algorithms: 1, 2, 5, 6 3. Problem solving skills: 1, 2, 3, 5, 6 |
Learning outcomes | Students will be able to: 1. Use dynamic programming in their problem solving 2. Understand basic Number Theory to be able to identify a potential solution 3. Code simulation problems more effectively 4. Analyze the combinatorial characteristic of the problem and solution in programming codes 5. Implement basic graph data structures and advanced graph-based algorithms 6. Learn some basic numerical optimization techniques and apply them in practiceOutcomes: reflected Objectives 1. Dynamic programming: 3 2. Number Theory: 2, 3 3. Simulation problems: 1, 3 4. Combinatorial characteristics: 1 5. Graph data structures: 1, 2, 3 6. Numerical optimization: 2, 3 |
Assessment (for reference only) |
Programming assignments: 50% On-line Contest: 25% Attendance: 25% |
Recommended Reading List | To be determined by the course teacher |
CSCIN programme learning outcomes | Course mapping |
Upon completion of their studies, students will be able to: | |
1. identify, formulate, and solve computer science problems (K/S); | TP |
2. design, implement, test, and evaluate a computer system, component, or algorithm to meet desired needs (K/S); |
|
3. receive the broad education necessary to understand the impact of computer science solutions in a global and societal context (K/V); | |
4. communicate effectively (S/V); |
TP |
5. succeed in research or industry related to computer science (K/S/V); |
T |
6. have solid knowledge in computer science and engineering, including programming and languages, algorithms, theory, databases, etc. (K/S); | TP |
7. integrate well into and contribute to the local society and the global community related to computer science (K/S/V); | |
8. practise high standard of professional ethics (V); | |
9. draw on and integrate knowledge from many related areas (K/S/V); |
TP |
Remarks: K = Knowledge outcomes; S = Skills outcomes; V = Values and attitude outcomes; T = Teach; P = Practice; M = Measured |