堆疊(stack):柞數據係最後入嘅最先出(last in first out,LIFO)嘅,即係話柞數據有次序之分,排最尾嗰件數據會優先噉被提取,就好似一疊洗好咗嘅碟噉,最尾擺入疊碟嗰隻碟會最先俾人攞走;可以對堆疊做嘅運算最基本有 push(擺件數據落堆疊上面)同 pop(刪除堆疊最上面嗰件數據),可以睇下圖嘅圖解。堆疊喺回溯法(backtracking)上成日用-例如想像家陣有個人工智能程式喺度行迷宮,個程式要一路記住自己行過嘅位置,一去到掘頭路就返轉頭,即係話「過去嘅位置」會成一個堆疊,要返轉頭行每一步嗰陣就將最近嗰件數據(個堆疊最頂嗰件)攞走[23]。睇埋遞歸。
隊列(queue):柞數據係最先入嘅最先出(first in first out,FIFO)嘅,即係話嗰柞數據有次序之分,當中排最先嗰件數據會優先噉被提取,就好似一班人喺度排隊噉;可以對堆疊做嘅運算最基本有 enqueue(擺件數據落隊列最後)同 dequeue(刪除堆疊最先嗰件數據),可以睇下圖嘅圖解。喺實際應用上,隊列最常見嘅用途嚟攞嚟「排隊」-俾部電腦知有啲咩數據等緊要處理,並且將啲數據優先處理[24]。
雜湊表(hash table):一種用嚟整關聯陣列(associative array;抽象資料型別,用嚟將每件數據都掕個獨特嘅名俾佢)嘅數據結構;一幅雜湊表會用一個雜湊函數(hash function)嚟由一個輸入(key)嗰度計出一個 index,用 index 嚟由一個陣列(buckets)嘅位嗰度搵出想要嗰件數據(下圖)[25]。
函式庫(library):指電腦程式用嘅非揮發性(唔會一熄機就冇咗嘅)資源,包括數據庫嘅數據以及陳述式噉;資訊科技工作者好興用函式庫嚟交流,令大家做嘢更加方便,例如 AI 噉,會有 AI 工作者搵埋一拃 AI 工作成日用嘅子程序,將呢啲子程序變成陳述式;第啲 AI 工作者攞去用,就可以達到「用一句碼就叫到部電腦做一樣 AI 常用嘅子程序」噉嘅效果[43]。
程式語言理論(programming language theory):電腦科學嘅一個子領域,包含研究程式語言呢樣嘢應該點樣設計、分析同埋分門別類嘅一套理論;程式語言理論會用邏輯等形式化-即係每個符號都有清晰定義,唔似得自然語言咁多歧義-嘅語言嚟表達唔同嘅程式語言,剖析唔同程式語言彼此之間喺解難能力上有乜嘢差異,例如係「某隻程式語言會唔會比起第啲語言更加擅長解某啲類型嘅問題」等嘅課題[44]。
雜湊函數(hash function):一種函數;一個雜湊函數能夠攞任何長度嘅數據(input),再將段數據轉化成一個長度固定嘅位陣列(output;下圖嘅 digest),例如攞一大拃人嘅英文名(可以有幾多個字母都得),再將啲名冚唪唥轉換做兩個位嘅數-John Smith → 02、Lisa Smith → 03、Sam Doe → 02... 呀噉[79]。
本台(native)同跨平台(cross-platform)軟件:一隻本台軟件係專門設計嚟淨係喺某隻作業系統上面行嘅軟件,而一隻跨平台軟件就係可以喺唔同嘅作業系統上面行嘅軟件[90];例如一部 Game Boy 會由佢嘅咭匣嗰度攞軟件行,呢啲軟件嘅碼係專門設計嚟喺 Game Boy 上面行嘅,而想喺 Game Boy 以外嘅平台嗰度行呢啲碼就要用到模擬器-一種模仿 Game Boy 噉行啲碼嘅架生;同「用返隻本台軟件屬嘅平台嚟行」相比,「用模擬器嚟行」通常梗會慢咗啲-模擬器定義上就係模仿第個平台嘅硬件或者軟件,所以實要喺「想行嗰段碼」之外再行啲額外嘅碼[91]。
Hellerstein, J. M., & Stonebraker, M. (Eds.). (2005). Readings in database systems. MIT press.
Kleppmann, M. (2017). Designing data-intensive applications: The big ideas behind reliable, scalable, and maintainable systems. " O'Reilly Media, Inc.".
Kurose, J. F., & Ross, K. W. (2007). Computer Networking: A Top-Down Approach Edition. Addision Wesley.
↑"Computer Science is the study of all aspects of computer systems, from the theoretical foundations to the very practical aspects of managing large software projects." Massey University互聯網檔案館嘅歸檔,歸檔日期2006年6月19號,.
↑Pamela McCorduck (2004, pp. 424) writes of "the rough shattering of AI in subfields—vision, natural language, decision theory, genetic algorithms, robotics ... and these with own sub-subfield—that would hardly have anything to say to each other."
↑Sipser, M. (2006). Introduction to the Theory of Computation (Vol. 2). Boston: Thomson Course Technology.
↑Wiener, Norbert; Cybernetics: or the Control and Communication in the Animal and the Machine, MIT Press, 1961, ISBN 0-262-73009-X, page xi.
↑Ben-Amram, A.M. (2005). "The Church-Turing Thesis and its Look-Alikes" (PS). SIGACT News. 36 (3): 113-116.
↑Hunter, Geoffrey, Metalogic: An Introduction to the Metatheory of Standard First-Order Logic, University of California Press, 1971.
↑Hodges, Andrew (2012). Alan Turing: The Enigma (The Centenary Edition). Princeton University Press.
↑Petzold, C. (2008). The annotated Turing: a guided tour through Alan Turing's historic paper on computability and the Turing machine. Wiley Publishing.
↑Sipser, Michael (2006). Introduction to the Theory of Computation. Course Technology Inc.
↑Meurant, Gerard (2014). Algorithms and Complexity. p. 4.
↑Shaffer, C. A. (2011). Data Structures & Algorithm Analysis in C++ (3rd ed.). Mineola, NY: Dover. 1.2.
↑Cleaveland, J. Craig (1986). An Introduction to Data Types. Addison-Wesley.
↑Stone, R. G.; Cooke, D. J. (5 February 1987). Program Construction. Cambridge University Press. p. 18.
↑Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2009). Introduction to Algorithms, Third Edition (3rd ed.). The MIT Press.
↑Wegner, Peter; Reilly, Edwin D. (2003-08-29). Encyclopedia of Computer Science. Chichester, UK: John Wiley and Sons. pp. 507-512.
↑Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, 2nd Edition. MIT Press and McGraw-Hill, 2001. Section 10.1: Stacks and queues, pp. 200-204.
↑McKenzie, B. J.; Harries, R.; Bell, T. (February 1990). "Selecting a hashing algorithm". Software Practice & Experience. 20 (2): 209-224.
↑Susanna S. Epp (Aug 2010). Discrete Mathematics with Applications. Pacific Grove, CA: Brooks/Cole Publishing Co. p. 694.
↑Millington, I. (2019). AI for Games. CRC Press. Ch. 4.
↑Muntean, Paul Ioan; Monperrus, Martin; Sun, Hao; Grossklags, Jens; Eckert, Claudia (2019). "IntRepair: Informed Repairing of Integer Overflows". IEEE Transactions on Software Engineering. 47 (10): 2225-2241.
↑Coonen, Jerome T (1980). "An implementation guide to a proposed standard for floating-point arithmetic". Computer. 13 (1): 68-79.
↑Vint Cerf (1969-10-16). ASCII format for Network Interchange. IETF.
↑Unicode Demystified: A Practical Programmer's Guide to the Encoding Standard, Richard Gillam, Addison-Wesley Professional; 1st edition, 2002.
↑Amon, P., Rathgen, T., & Singer, D. (2007). File format for scalable video coding. IEEE Transactions on Circuits and Systems for Video Technology, 17(9), 1174-1185.
↑Conti, G., Dean, E., Sinda, M., & Sangster, B. (2008, September). Visual reverse engineering of binary and data files. In International Workshop on Visualization for Computer Security (pp. 1-17). Springer, Berlin, Heidelberg.
↑Rice, R. E., & Borgman, C. L. (1983). The use of computer-monitored data in information science. Journal of the American Society for Information Science, 44, 247-256.
↑Grillmeyer, O. (2013). Exploring Computer Science with Scheme. Undergraduate Texts in Computer Science. Springer New York. p. 239. Retrieved 2021-06-26. The central component to the Scheme interpreter is the read-eval-print loop. Commands are read in, then evaluated. Finally, the evaluated result is printed."
↑Gabbay, D., Giordano, L., Martelli, A., Olivetti, N., & Sapino, M. L. (2000). Conditional reasoning in logic programming. The Journal of Logic Programming, 44(1-3), 37-74.
↑Ceruzzi, Paul E. (2000). A History of Modern Computing. Cambridge, Massachusetts: MIT Press.
↑Aho, Alfred V. (1990). van Leeuwen, Jan (ed.). Algorithms for finding patterns in strings. Handbook of Theoretical Computer Science, volume A: Algorithms and Complexity. The MIT Press. pp. 255-300.
↑Stanek, William R. (2008). Windows Command-Line Administrator's Pocket Consultant (2nd ed.). Microsoft Press.
↑Levine, John R. (2000) [October 1999]. "Chapter 9: Shared Libraries & Chapter 10: Dynamic Linking and Loading". Linkers and Loaders. The Morgan Kaufmann Series in Software Engineering and Programming (1 ed.). San Francisco, USA: Morgan Kaufmann.
↑Gordon, M. J. (1988). Programming language theory and its implementation (Vol. 10). Englewood Cliffs, NJ: Prentice-Hall.
↑Neamtiu, Iulian; Foster, Jeffrey S.; Hicks, Michael (May 17, 2005). Understanding Source Code Evolution Using Abstract Syntax Tree Matching. MSR'05. Saint Louis, Missouri: ACM.
↑Friedman, Daniel P.; Mitchell Wand; Christopher T. Haynes (1992). Essentials of Programming Languages (1st ed.). The MIT Press.
↑Schilling, Jonathan L. (April 1995). "Dynamically-Valued Constants: An Underused Language Feature". SIGPLAN Notices. 30 (4): 13-20.
↑Iverson, K. E. (1962, May). A programming language (PDF). In Proceedings of the May 1-3, 1962, spring joint computer conference (pp. 345-351).
↑Abelson, Harold; Sussman, Gerald Jay (1996). Structure and Interpretation of Computer Programs (Second ed.). Cambridge, Massachusetts: The MIT Press. p. 21-22.
↑Computer Performance Analysis with Mathematica by Arnold O. Allen, Academic Press, 1994. $1.1 Introduction, pg 1.
↑Bader, David; Pennington, Robert (May 2001). "Cluster Computing: Applications". Georgia Tech College of Computing. Archived from the original on 2007-12-21. Retrieved 2017-02-28.
↑Zhong, Liang; Zheng, Xueqian; Liu, Yong; Wang, Mengting; Cao, Yang (February 2020). "Cache hit ratio maximization in device-to-device communications overlaying cellular networks". China Communications. 17 (2): 232-238.
↑Randal E. Bryant; David R. O’Hallaron (2016). Computer Systems: A Programmer's Perspective (Third ed.). Pearson. p. 17.
↑Schoeberl, M., Korsholm, S., Kalibera, T., & Ravn, A. P. (2011). A hardware abstraction layer in Java. ACM Transactions on Embedded Computing Systems (TECS), 10(4), 1-40.
↑Reddy, Marathi (2011). API Design for C++. Elsevier Science.
↑Luna, F. (2012). Introduction to 3D game programming with DirectX 11. Stylus Publishing, LLC.
↑Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. (2014), File System Implementation, Arpaci-Dusseau Books.
↑Yeager, N. J., & McGrath, R. E. (1996). Web server technology. Morgan Kaufmann.
↑Sasu Tarkoma (2010). Overlay Networks: Toward Information Networking. CRC Press.
↑Y. Rekhter; B. Moskowitz; D. Karrenberg; G. J. de Groot; E. Lear (February 1996). Address Allocation for Private Internets. Network Working Group IETF.
↑McKnight, L. W., & Bailey, J. P. (Eds.). (1998). Internet economics. MIT Press.
↑Gayard, Laurent (2018). Darknet: Geopolitics and Uses. Hoboken, NJ: John Wiley & Sons.
↑Tobin, James (12 June 2012). Great Projects: The Epic Story of the Building of America, from the Taming of the Mississippi to the Invention of the Internet. Simon and Schuster.
↑Blank, G., & Reisdorf, B. C. (2012). The participatory web: A user perspective on Web 2.0. Information, Communication & Society, 15(4), 537-554.
↑Xie, S., Wang, G., Lin, S., & Yu, P. S. (2012, August). Review spam detection via temporal pattern discovery. In Proceedings of the 18th ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 823-831).
↑Schatz, Daniel; Bashroush, Rabih; Wall, Julie (2017). "Towards a More Representative Definition of Cyber Security". Journal of Digital Forensics, Security and Law. 12 (2).
↑Stallings, William (2012). Computer security : principles and practice. Boston: Pearson. p. 182.
↑Tulloch, Mitch (2003). Koch, Jeff; Haynes, Sandra (eds.). Microsoft Encyclopedia of Security. Redmond, Washington: Microsoft Press. p. 16.
↑Nyang, DaeHun; Mohaisen, Aziz; Kang, Jeonil (2014-11-01). "Keylogging-Resistant Visual Authentication Protocols". IEEE Transactions on Mobile Computing. 13 (11): 2566-2579.
↑Schwabach, Aaron (2006). Internet and the Law. ABC-CLIO.
↑Szor, Peter (2005). The Art of Computer Virus Research and Defense. Addison-Wesley.
↑Mason, Andrew G. (2002). Cisco Secure Virtual Private Network. Cisco Press. p. 7.
↑Knuth, D. (1973). The Art of Computer Programming, Vol. 3, Sorting and Searching, p.527. Addison-Wesley, Reading, MA., United States.
↑Alshaikhli, Imad Fakhri; AlAhmad, Mohammad Abdulateef (2015), "Cryptographic Hash Function", Handbook of Research on Threat Detection and Countermeasures in Network Security, IGI Global.
↑ 81.081.1Narayanan, Arvind; Bonneau, Joseph; Felten, Edward; Miller, Andrew; Goldfeder, Steven (2016). Bitcoin and cryptocurrency technologies: a comprehensive introduction. Princeton: Princeton University Press.
↑Kenneth, Hirschey, Jeffrey (2014-01-01). "Symbiotic Relationships: Pragmatic Acceptance of Data Scraping". Berkeley Technology Law Journal. 29 (4).
↑ 83.083.1Kroenke, David M. and David J. Auer (2007). Database Concepts. 3rd ed. New York: Prentice.
↑Post, G. V. (1999). Database management systems: designing and building business applications. Irwin/McGraw-Hill.
↑Claudia Maria Bauzer Medeiros (19 September 2009). ADVANCED GEOGRAPHIC INFORMATION SYSTEMS -Volume I. EOLSS Publications. p. 59.
↑Sumaray, A., & Makki, S. K. (2012, February). A comparison of data serialization formats for optimal efficiency on a mobile platform. In Proceedings of the 6th international conference on ubiquitous information management and communication (pp. 1-6).
↑Connolly, Thomas M.; Begg, Carolyn E. (2014). Database Systems - A Practical Approach to Design Implementation and Management (6th ed.). Pearson. p. 64.
↑ 88.088.1Abran, Alain; Moore, James W.; Bourque, Pierre; Dupuis, Robert; Tripp, Leonard L. (2004). Guide to the Software Engineering Body of Knowledge. IEEE.
↑Laplante, Phillip (2007). What Every Engineer Should Know about Software Engineering. Boca Raton: CRC.
↑Choudhary, S.R. (2014). "Cross-platform testing and maintenance of web and mobile applications". Companion Proceedings of the 36th International Conference on Software Engineering - ICSE Companion 2014: 642-645.
↑Muşlu, K., Brun, Y., Holmes, R., Ernst, M. D., & Notkin, D. (2012). Speculative analysis of integrated development environment recommendations. ACM SIGPLAN Notices, 47(10), 669-682.
↑Gao, J.; Bai, X.; Tsai, W.; Uehara, T. (February 2014). "Mobile Application Testing: A Tutorial". Computer. 47 (2): 46-55.
↑Gamma, E., Helm, R., Johnson, R., Johnson, R. E., & Vlissides, J. (1995). Design patterns: elements of reusable object-oriented software. Pearson Deutschland GmbH.
↑Erich Gamma; Richard Helm; Ralph Johnson; John Vlissides (1994). Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley. pp. 293.
↑Foley, J. D., Van, F. D., Van Dam, A., Feiner, S. K., Hughes, J. F., Hughes, J., & Angel, E. (1996). Computer graphics: principles and practice (Vol. 12110). Addison-Wesley Professional.
↑Bouknight, W. J. (1970). "A procedure for generation of three-dimensional half-tone computer graphics presentations". Communications of the ACM. 13 (9): 527-536.
↑Phong, B-T (1975). "Illumination for computer generated pictures". Communications of the ACM. 18 (6): 311-316.
↑Zheng, J. M., Chan, K. W., & Gibson, I. (1998). Virtual reality. Ieee Potentials, 17(2), 20-23.
↑Vince, J. (2004). Introduction to virtual reality. Springer Science & Business Media.