1 / 51

Opportunities and Challenges Unique aspect of CS How to succeed in CS study?

Opportunities and Challenges Unique aspect of CS How to succeed in CS study?. IITG Team Contributors: S. Zhang. A. Hoskey. Learn Computer Science. President https:// www.youtube.com/watch?v=6XvmhE1J9PY Hadi Partovi (code.org) https:// www.youtube.com/watch?v=GsagBkLXtRE.

ltina
Download Presentation

Opportunities and Challenges Unique aspect of CS How to succeed in CS study?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Opportunities and ChallengesUnique aspect of CSHow to succeed in CS study? IITG Team Contributors: S. Zhang. A. Hoskey

  2. Learn Computer Science • President https://www.youtube.com/watch?v=6XvmhE1J9PY HadiPartovi (code.org) https://www.youtube.com/watch?v=GsagBkLXtRE

  3. What is Computer Science? • What do you think Computer Science is? • or, probably you can tell me what computer science is not.

  4. Computer Science Misconceptions • Misconception 1 - Computer science (CS) is the study of computers. • First work in CS took place BEFORE the first computer was invented (CS pioneering work was considered a branch of logic and applied mathematics). • Theoretical computer science – researchers study the logical and mathematical properties of problems and their solutions. • Taken from: Invitation to Computer Science by Schneider and Gersting, 6th edition, Cengage Learning, 2013.

  5. Computer Science Misconceptions • Distinction between computers and computer science. • Following quote from: Fellows, M.R, and Parberry, I. “Getting Children Excited About Computer Science”, Computing Research News, vol. 5, no. 1 (January 1993). “Computer science is no more about computers than astronomy is about telescopes, biology is about microscopes, or chemistry is about beakers and test tubes. Science is not about tools. It is about how we use them and what we find out when we do.” • Taken from: Invitation to Computer Science by Schneider and Gersting, 6th edition, Cengage Learning, 2013.

  6. Computer Science Misconceptions • Misconception 2 – Computer science is the study of how to write computer programs. • Programming is generally the first course in CS. • Programming is extremely important but like the computer itself it is a tool. • Researchers use programming to study new ideas and build and test new solutions. • Taken from: Invitation to Computer Science by Schneider and Gersting, 6th edition, Cengage Learning, 2013.

  7. Computer Science Misconceptions • Misconception 3 – Computer science is the study of the uses and applications of computers and software. • Many CS programs have a first course related to the application of computers and software. • Learning to use a software package is no more a part of computer science than driver’s education is a branch of automotive engineering. • Taken from: Invitation to Computer Science by Schneider and Gersting, 6th edition, Cengage Learning, 2013.

  8. Computer Science Misconceptions • Computers, programming languages, software, and applications are part of the discipline of computer science, but neither individually nor combined do they capture the richness and diversity of this field. • Taken from: Invitation to Computer Science by Schneider and Gersting, 6th edition, Cengage Learning, 2013.

  9. Computer Science Definition • Following definition from: Gibbs, N.E., and Tucker, A.B. “A Model Curriculum for a Liberal Arts Degree in Computer Science”, Comm. Of the ACM,29, no. 8 (March 1986). • The central concept in computer science is the algorithm. • It is not possible to understand the field without a thorough understanding of this critically important area. • It is the task of the computer scientist to design and develop algorithms to solve a range of important problems. • Taken from: Invitation to Computer Science by Schneider and Gersting, 6th edition, Cengage Learning, 2013.

  10. Algorithm • Algorithm (Dictionary Definition)– A procedure for solving a mathematical problem in a finite number of steps that frequently involves repetition of an operation; broadly: a step-by-step method for accomplishing some task. • An algorithm is an ordered sequence of instructions that is guaranteed to solve a specific problem. • Taken from: Invitation to Computer Science by Schneider and Gersting, 6th edition, Cengage Learning, 2013.

  11. Algorithm Cherry Pie Algorithm Step 1: Make the crust. Step 2: Make the cherry filling. Step 3: Pour the filling. Step 4: Back at 350 degrees for 45 minutes. • This algorithm might be good for a professional baker but a novice baker could have problems due to the lack of detail on some steps (How do you make the crust?, How do you make the cherry filling?). • Taken from: Invitation to Computer Science by Schneider and Gersting, 6th edition, Cengage Learning, 2013.

  12. Algorithm Cherry Pie Algorithm (Revised) Step 1: Make the crust. 1.1 Take one an one-third cups flour. 1.2 Sift the flour. 1.3 Mix the sifted flour with one-half cup butter and one- fourth cup water. 1.4 Roll into two 9-inch pie crusts. Step 2: Make the cherry filling. 2.1 Open a 16-ounce can of cherry pie filling and pour into bowl. 2.2 Add a dash of cinnamon and nutmeg, and stir. Step 3: Pour the filling. Step 4: Back at 350 degrees for 45 minutes. • This algorithm is more detailed. • Taken from: Invitation to Computer Science by Schneider and Gersting, 6th edition, Cengage Learning, 2013.

  13. Some Course Topics • Basic Concepts • Computational Thinking • Data Representation • Computer Systems (Architecture and OS) • Programming • Networking • Databases • Mobile Computing • Security

  14. Basic Concepts • Hardware • Software • Input • Processing • Output • Types of storage • CPU • OS

  15. Computational Thinking • Searching • Recursion • Scheduling • Parallel Processing • Caching • Walks (Traveling Salesman) • Algorithms

  16. Data Representation • Why do computers use binary? Why not just use decimal? • Number Representation in Different Numeral Systems • Units of Information & Binary Number System

  17. Computer Systems • Computer Architecture Hardware and Software • Operating Systems • Processes • Manage resources • File systems • Assembler instructions.

  18. Programming • C++ Programming Language (why not just program using machine instructions?). • Compiling a program (C++ instructions vs assembler instructions vs machine instructions) • Program execution (line by line etc…) • Variables • If statements • Looping • Simple functions • Overview of object-oriented programming • Testing programs. Describe why quality assurance is important (QA). • Different programming languages (Java etc…) • Description of programming related jobs

  19. Networking • Introduction to Networking • Introduction to Internet • Introduction to Client Server Model • Network administration overview • Description of networking related jobs

  20. Database • Why bother with a database if we could just use a flat file? • Very simple normalization examples • SQL overview (basic select statements) • Data warehousing. Normal database (OLTP) vs data warehouse. • Description of database related jobs. Data modeler, Database Programmer, Database Administrator

  21. Mobile Computing • Issues for mobile computing (low resources – battery, memory) • Android vs iOS • Storing data in the cloud • Possibly write a hello world app in Eclipse w/Android (need lab to be setup for this but software is all free).

  22. Security • Overview • Basic types of attacks • Encryption • Possibly write an elementary encryption algorithm in C++.

  23. What is Computer Science? • Girls in a Tech World: Endless Possibilities of Computer Science (2:39) https://www.youtube.com/watch?v=DYBPotROKC8 • What is CS (2:26) https://www.youtube.com/watch?v=4hZYDP-Q7WA

  24. Problem Solving

  25. End of Presentation • End of Presentation

  26. End of Slides • End of Slides Created by Arthur Hoskey, PhD

  27. Unique aspects of CS

  28. A man made field • Full of changes and innovations

  29. subfields

  30. opportunities

  31. challenges

  32. Passing exams do NOT mean you can land on a job. • There are other exams after your graduation. Interviews, to find out whether or not whether or not you have truly learned and you can apply what you learned to real-life technical situations.

  33. Succeed in computer science anywhere requires • dedication • passion and • hours of work • Mentally strong • Learn fundamental concepts • Learn broad subjects, branch out • Practice • Be detailed • Be patient • Be humble • Keep learning, life long learning • Need to read technical papers, manual • Need to write • Need to communicate • Need to present

  34. Be logical • Algorithms and programming need to be discreet and logic

  35. Be mathematic • Computer science is based around a mathematical foundation. • Math is also an important factor in computer science. For any nontrivial program, you need to implement programs using math knowledges.

  36. Be strong mentally • Be calm in stressful environments • “The computer can be a toy, not just a tool,” Pierce said. “One should choose a field where one has a natural passion, and those who tinkering with their computer will probably be comfortable working with it professionally."

  37. Be strong physically • Long hours of working

  38. Be creative • Being a computer expert doesn’t really mean you are restricted to one single method or practice. • Being a computer expert means branching out and always striving for the impossible.

  39. Smart & fast learner • to process large amounts of technical information quickly.

  40. It is important to have a general breadth of computer knowledge, because computer scientists often have to develop interesting solutions to interesting problems.

  41. Learn from failure, then quickly move on

  42. practice • Read and write a lot of code • While it doesn’t sound fun to be going through countless streams of code and data, it is a necessity in order to stay in the computer science workforce. • “Your career will require it,”

  43. Programming • Hard • Time consuming • No shortcut

  44. Use them • The best way of learning any language, • The only way of learning any language. • Applies to C++, Java • Applies to Lisp, Prolog

  45. Keep learning • “Due to technology becoming exponentially complex, one must continuously update their skills to stay competitive within the field."

  46. Be ethical • difference in ethics in different fields

  47. Be knowledgeable • Depending on your task, you might need to develop quickly a business perspective or pick up some math, or physics on your own. • You won’t learn everything during your 4 years.

  48. Types of Knowledges

  49. Relationship with other disciplines

More Related