240 likes | 254 Views
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
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