240 likes | 256 Views
Explore growth, complexity, computability, standards, and knowledge migration in Computer Science along with network-centered applications and core curriculum structure.
E N D
Computer Science in Context Evangelos E. Milios Professor and Graduate Coordinator Faculty of Computer Science Dalhousie University
Growth in the Computing Field • Exponential growth in • Hardware speed (doubles every 18 months) • Memory capacity (doubles every 18 months) • Network bandwidth • Slow growth in software productivity • 7+-1 lines of fully debugged/tested code per day • Independent of the programming language
Complexity • Computer artifacts are very complex • Complexity attacked with abstraction • Procedural abstraction • Data abstraction • Object-oriented programming • Important new dimensions • Distributed computing • Network is the computer
Computability • Many problems are inherently intractable • They require search of all possibilities for optimality • Too many possibilities • Examples • Chess • Map labelling • Travelling salesman • Issues • Proving that a problem is intractable • Heuristic solutions and how well they do
Standards • Not just technology • Market dynamics • Social acceptance • Standardization • Too early: bad standard • Too late: irrelevant standard, because a defacto standard already exists (also bad)
Knowledge migration paths • Research lab => scholarly publications • Graduate courses • Undergraduate courses • High school • Primary school • Research lab => patent • Invention • Incubator company • Service Process or product
Computer Science Curriculum Evangelos E. Milios Professor and Graduate Coordinator Faculty of Computer Science Dalhousie University
The foundation • Introductory Computer Science • For CS majors • For Science • For non-Majors • Algorithms, Data Structures, Theory of Computing • How to organize data and computation effectively
Application areas with a little bias :-) • Data bases • Data mining, information retrieval • Artificial Intelligence • Graphics, user interface design • Software Engineering • Networks, parallel systems, distributed systems • Numerical computation
Core curriculum Hardware&systems Software.eng. Basics Math. foundations Arts
Core curriculum (Foundations) • CS • CSCI 1100 Computer Science I • CSCI 1101 Computer Science II • Math • MATH 1000 diff. and integral calculus I • MATH 2030 matrix theory and linear algebra I • STAT 2060 introduction to probability and statistics I • CSCI 2112 discrete structures I • MATH 1010 diff. & integral calculus II orCSCI 2113 discrete structures II
Core curriculum - CS - year 2 • CSCI 2110 Computer Science III • CSCI 2121 Architecture • CSCI 2132 Software Development • CSCI 2140 Data and Knowledge Fundamentals • CSCI 2100 Communication
Core Curriculum - CS - Year 3 • CSCI 3171 Network Computing • CSCI 3120 Operating Systems • CSCI 3130 Software Engineering • CSCI 3110 Algorithm Analysis • CSCI 3101 Ethics
Network-Centered Applications Evangelos E. Milios Professor and Graduate Coordinator Faculty of Computer Science Dalhousie University
Computer Networks • Interacting patterns of growth • CPU speed doubles every 18 months • Memory capacity doubles every 18 months • Memory speed grows much slower • Network bandwidth grows fast • Network latency limited by the speed of light • Network speed is reaching memory speed • Number of hosts on the Internet doubles every year
Network design • Focus on the infrastructure • Very high speed networks • Quality of service guarantee • Research issues • Fast switching • Effective routing • Security at the network layer • Virtual private networks • Network management
Software agents • Data mining agents on the Internet • Mobile agents • Agent marketplaces • Negotiating agents • Agents for network management
Distributed computing • Software engineering • Concurrency • Fault tolerance • Security in distributed computing
Electronic commerce • Security at the application layer • Cryptography algorithms • Protocols for • Authentication • Message integrity • Negotiation agents • Electronic marketplaces
Other network applications • Internet Telephony • E-learning: delivering courses/programs over the Internet • E-health: delivering specialist health care to remote locations over the Internet