230 likes | 320 Views
Computer Science: Applications & Challenges Gopal Gupta, Professor & Associate Dept. Head. www.cs.utdallas.edu. Technology. “ The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it.”
E N D
Computer Science: Applications & Challenges Gopal Gupta, Professor & Associate Dept. Head www.cs.utdallas.edu
Technology “The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it.” - Mark Weiser Moore’s Law: Computing power doubles every 18 months
Computer Science • What is Computer Science? • Computer Science is the study of processes that describe and transform information • Is Computer Science engineering? Is it even a science? • Engineering: effective & inexpensive • Science: principled approach • Computer Sci. is a dynamic & fast changing field
Computer Science • What it is not… • Computer science is no more about computers than astronomy is about telescopes [Dijkstra] • Computer Science is not as old as physics … However it does not mean that there is significantly less on the computer scientist’s plate than on the physicist’s [Feynman] • Computer Science is certainly not all about programming
Computer Science • What it is: • Computer Science is about problem solving (with a computer, of course) • As a computer scientist the skills you need: • Algorithm development; computer modeling • Expressing algorithms & models as programs • As a CS major you learn the tools and techniques for problem solving & coding
Algorithms and Data Structures • Algorithms • A set of well defined instructions to perform a task • Class of problems & their efficient solutions • Performance characteristics of algorithms • Organization of data relative to different access methods Example algorithms • Making a peanut-butter jelly sandwich • Programming a VCR • Making a pie
12 6 21 3 9 17 24 7 Database and Information Retrieval • Organizing information and designing algorithms for the efficient access and update of stored information • Modeling data relationships • Security and protection of information in a shared environment • Characteristics of external storage devices
Computer Architecture • Methods of organizing efficient, reliable computing systems • Implementation of processors, memory, communications, and software interfaces • Design and control of large, reliable computational systems
Operating Systems • Control mechanisms that allow multiple resources to be efficiently coordinated during the execution of programs • Effective strategies for resource control • Effective organization to support distributed computation
Programming Languages • Notations for defining virtual machines that execute algorithms • Design of Programming Languages • Efficient translation from high-level languages to machine codes (compilation) • Different programming languages provide different abstractions (programming involves putting what the programmer has conjured in his/her head in the words of the language).
A CTIVITI E S Requirements Requirements Specification Feasibility R Prototype Pr Design R equir ements stud y anal ysis de v elopment study y specifica tion Feasibility report Evaluation report Architectural design F easibility User Ev alua tion Ar chitectur al S System r epor t requirements r epor t design requirements Software Engineering • Specifications, design, and production of large software systems • Principles of programming and software development, verification, and validation of software • Specifications and production of software systems that are safe, secure, reliable, and dependable
Parallel processing Multicore architectures Computer Graphics & VR Games/Movies Image processing Autonomous vehicles Machine learning; data mining Learning from data Computer Networks LAN, WAN, Internet Sensor Networks Artificial Intelligence Chess playing programs Mars Rover Natural Language Processing Human Computer Interface Voice-based interaction The Web Real-time Systems Automatic controllers Computer Security Multi-media Systems Other Areas
Job Prospects • According to Enterprise Systems (ES) 2006 survey • Software Engineer/Programmer’s average • salary is: $64,000 • (larger increase than some other hi-tech jobs) • Expect starting salary of about $50K+ (BS), $65K+ • MONEY Magazine & Salary.com’s rating ca 2006: • (job satisfaction) • #1 : Software Engineer • #2 : College Professor • … • # 7 : Computer/IT Analyst
Are there jobs out there? • Data Shows U.S. Info Tech Jobs Grew 8 Percent in 2007 InformationWeek (01/09/08) Murphy, Chris • Year-end data from the Bureau of Labor Statistics reveals that the U.S. information-technology job market grew 8 percent in 2007. • The IT job market added nearly 300,000 workers to employ an estimated 3.76 million people last year, up from an increase of 292,000 jobs and total employment of 3.46 million in 2006. • Computer scientist and system analyst positions grew the fastest at 15 percent to add 110,000 jobs, and was followed by IT management positions, which grew 17 percent to add 66,000 new jobs.
Are there jobs out there? • Yes, the Tech Skills Shortage Is RealInformationWeek (01/12/08) Luftman, Jerry; Kempaiah, Rajkumar; Bullen, Christine • There is a profound shortage of IT-skilled professionals in the United States, and this situation is only going to worsen as massive numbers of IT pros retire over the next 15 years, writes Stevens Institute of Technology professor Jerry Luftman. ….
Computer Science Dept(Fall 2007) • 1300 Students • 44 Tenure-track faculty • 9 Senior Lecturers • 50 Teaching Assistants • 80 Research Assistants • 8 Staff members • 3 Tech. Support staff members • One of the largest CS department in the country • One of the largest selection of courses offered in the country!
Academic Programs • B.S. in CS, Software Eng. (SE), Telecom Eng. (TE) New: B.S. in Computer Engineering (CE) • Fast-Track B.S./M.S. program • M.S. in CS, TE, and Computer Eng (CE). • Ph.D. in CS • Ph.D. in TE, CE, SE
It’s a great time to do CS “… the software industry is going to make more breakthroughs in these next 10 years than it's made in the last 30 … software is really going to transform not just what we think about as the computer industry, but the way that everything is done …”
Sensor Network Mobile Wireless Network Edge Site Many exciting things to be done: • Communications technologies • Wireless/sensor networks • Re-architecting the Internet • Bioinformatics, medicine, life sciences • Personalized health care • Voice based computing • Natural Language Understanding • ……….
LOCATION! LOCATION! LOCATION!