Presentation is loading. Please wait.

Presentation is loading. Please wait.

Opportunities and Challenges Unique aspect of CS How to succeed in CS study? IITG Team Contributors: S. Zhang. A. Hoskey.

Similar presentations


Presentation on theme: "Opportunities and Challenges Unique aspect of CS How to succeed in CS study? IITG Team Contributors: S. Zhang. A. Hoskey."— Presentation transcript:

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

2 Learn Computer Science President https://www.youtube.com/watch?v=6XvmhE1J9PY Hadi Partovi (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, 6 th 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, 6 th 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, 6 th 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, 6 th 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, 6 th 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, 6 th 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, 6 th 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, 6 th 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, 6 th 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

26 End of Slides Created by Arthur Hoskey, PhD

27

28 Unique aspects of CS

29 A man made field Full of changes and innovations

30 subfields

31 opportunities

32 challenges

33 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.

34 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

35 Be logical Algorithms and programming need to be discreet and logic

36 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.

37 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."

38 Be strong physically Long hours of working

39 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.

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

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

42 Learn from failure, then quickly move on

43 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,”

44 Programming Hard Time consuming No shortcut

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

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

47 Be ethical difference in ethics in different fields

48 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.

49 Types of Knowledges

50 Relationship with other disciplines

51 What truly separate CS from other disciplines?


Download ppt "Opportunities and Challenges Unique aspect of CS How to succeed in CS study? IITG Team Contributors: S. Zhang. A. Hoskey."

Similar presentations


Ads by Google