- Course ID: 210156
- Time: Friday 14:10-17:00
- Classroom: TC-208 (ext. 94334492)
- Required Software:
-
PuTTY
0.81
- Vim
9.1
- Firefox
(newest)
- Chrome (newest)
- Course Name: JavaScript Programming (JavaScript程式設計)
- Overview:
This course has been prepared for programmers, by a programmer. So, in
order to get the most from it, you should enjoy writing programs
everyday, and have already known object-oriented
programming languages
such as C++, Python, or PHP.
Thus, the course's target audience is programmers who want to
learn JavaScript quickly and properly, and JavaScript
programmers who want to deepen their skills and/or look up
specific topics.
- Prerequisite: C++ Programming
- Target Students: 1234
- Upper-limit: 19 students
- Instructor: Dr. Quincy Wu
- TA:
- Credit: 3
- Grading Criteria:
- Exercise (20%)
- Homework - What can you do with the skills you learned today? (20%)
- Oral Presentation (20%)
- Midterm/Final Exams (20%)
Term Project (20%)
- Discussion Platform: Stack
Overflow
- Textbook:
- Alex Banks, Eve Porcello, "Learning
React", 2nd Edition, O'Reilly Media, June
2020. (307 pages)
- References:
- Axel Rauschmayer,
Speaking JavaScript, O'Reilly, Mar 12, 2014.
- [eBook] Jeremy Keith and Jeffrey Sambells,
DOM Scripting : Web Design with JavaScript and
the Document Object Model, Springer-Verlag, 2005.
- [eBook] Cody Lindley,
DOM Enlightenment:
Exploring JavaScript and the Modern DOM, O'Reilly, 2013.
- [eBook] Cody Lindley,
jQuery Enlightenment,
O'Reilly, 2009.
- Terry McNavage,
JavaScript for absolute beginners, Apress 2010.
- Nicholas C. Zakas,
"The
Principles of Object-Oriented JavaScript",
No Starch Press, 2014. (local
copy)
- Peter Lubbers, Brian Albers, and Frank Salim,
"Pro
HTML5 Programming", Apress, 2nd edition, 2011.
- Vanessa Wang, Frank Salim, and Peter Moskovits,
The Difinitive Guide to
HTML5 WebSocket
- Tom Hughes-Croucher and Mike Wilson,
Node:
Up and Running
-
ECMAScript(R) 2015 Language Specification
- Schedule in 2024
- Week 1
- Console
- DOM
- Event
- Form
- Week 2
- Debugger
- Function Expression
- Arrow Functions
- Modules
- Week 3
- Array
- Object
- Spreak Operator
- Destructuring
- Syllabus
- HTML (HyperText Markup Language)
Tutorials
- CSS (Cascading Style Sheet)
JavaScript
- Speaking JavaScript: Part I - JavaScript Quick
Start
- Something Special in JavaScript Language
- DOM
jQuery
- [W3Schools] jQuery Tutorial
- Midterm Exam
HTMX
- HTMX
React
- Outline:
- JavaScript's Syntax
- Values
- Operators
- Booleans
- Numbers
- [HW] Chickens and Rabbits (雞兔同籠)
- [HW] BMI (Body Mass Index)
- [HW] What day is January
1st?
- Strings
- Statements
- [HW] Syracuse Sequence
- [HW] Tree of Stars
- [HW] Switch Case
- Exception handling
- [HW] lastModified
- [HW] 1A2B
- [HW] Monty Hall
- Functions
- [HW]
setAttribute()
- [HW]
Pass Functions as
Arguments to Another Function
- [HW]
Indefinite Number of Arguments
- Variables: Scopes, Environments, and Closures
- [HW]
Immediately Invoked
Function Expression (IIFE)
- [HW]
scrollIntoView()
- [HW]
setProperty()
- Objects and Inheritance
- [HW]
Enter Personal
Information
- Arrays
- [HW]
Sorting an Array of
Objects
- [HW]
Sudoku
- Regular Expressions
- [HW]
Email Address
Validation
- [HW]
Registration
Verification
- [HW]
Colorize C++ Code
- [HW]
Binary Tree
- [HW]
Complete/Full/Perfect
Binary Tree
- [HW]
Daily Report
- Dates
- [HW]
Date Conversion
- [HW]
Date Calculator
- Math
- [HW]
Horse Racing
- [HW]
Quick Sort
- [HW]
styleSheet()
- JSON
- [HW]
Add an Event Listener
- [HW]
FileReader
- [HW]
JSON.parse()
- [HW]
Air Quality
- Standard Global Variables
- Unicode and JavaScript
- A Meta Code Style Guide
- Language Mechanisms for Debugging
- Subclassing Built-ins
- JSDoc: Generating API Documentation
- Libraries
- Module Systems and Package Managers
- Presentation Topics
- Educational Goals:
- 配合國家經濟發展,培養符合資訊產業需求的工程技術人才
- 配合國家科技發展,培養具備前瞻資訊科技研發潛能的人才
-
配合全球永續發展潮流,培養具備國際視野、工程倫理、人文關懷及社會責任的科技人才
- Core Capabilities:
- 具備資訊科學基礎數理知識並應用於發掘、分析與解釋數據的能力
- 具備程式設計基礎知識並應用於設計及實作資訊軟體的能力
- 具備使用英文閱讀資訊領域技術文件及學術論文的能力
- 具備團隊合作及獨立執行資訊工程領域學術研究的能力
- 理解資訊工程專業倫理、敬業態度、環境保護及社會責任
Further Readings
- JavaScript.info
-
JavaScript Tutorial - W3Schools
-
Introduction to the DOM - Mozilla Developer Network
- Jitsi WebRTC
Exercises
- Good Examples of Student Exercises
- 西元和中國年份對應: 清光緒26年。
- I am the 4th