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

Slides:



Advertisements
Similar presentations
CSTA K-12 Computer Science Standards (rev 2011)
Advertisements

CSci 107 Introduction to Computer Science Lecture 1.
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Lecture 1: Overview of Computers & Programming
CS 345 Ch 4. Algorithmic Methods Spring, Misconceptions about CS Computer Science is the study of Computers. “Computer Science is no more about.
Introduction to Computer Science CS 21a: Introduction to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
CSCE 181: Introduction to Computer Science Spring 2010 Prof. Jennifer Welch.
CPSC 181Set 1: Introduction1 CPSC 181 Introduction to Computer Science Spring 2008 Prof. Jennifer Welch Source: slides from Prof. John Keyser.
What do Computer Scientists and Engineers do? CS101 Regular Lecture, Week 10.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
COMPSCI 125 Spring 2011 Section What is computer science? … the study of the theoretical foundations of information and computation and their implementation.
The Education of a Software Engineer Mehdi Jazayeri Presented by Matthias Hauswirth.
CMPUT101 Introduction to Computing(c) Yngvi Bjornsson1 An Introduction to Computer Science Chapter 1 Topics: The Definition of Computer Science Algorithms.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
CSCI 3 Introduction to Computer Science. CSCI 3 Course Description: –An overview of the fundamentals of computer science. Topics covered include number.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
CS 101 Course Summary December 5, Big Ideas Abstraction Problem solving Fundamentals of programming.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
CMPT 120 Introduction to Computer Science and Programming I Chris Schmidt.
CS /29/2004 (Recitation Objectives) and Computer Science and Objects and Algorithms.
IT JOBS TASK 20. SOFTWARE ENGINEER A software engineer designs and programmes software, operates systems, database systems etc. They know how software.
IT Job Roles Task 20. Software Engineer Job Description Software engineers are responsible for creating and maintaining software of various different.
Occupational Career Project By Jimmy Evans. I want to pursue a career in computer engineering. Specifically something in computer software. I think a.
Welcome to Computing. How is Computing assessed? AS Unit 1 Practical Theory of computation. Fundamentals of programming, data structures and algorithms.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Welcome to USA DAY at University of South Alabama School of Computer and Information Sciences
COMP 2903 A10 – Software Engineers and Computer Programmers Danny Silver JSOCS, Acadia University.
CSCI-100 Introduction to Computing Algorithms Part I.
The Study of Computer Science Chapter 0 Intro to Computer Science CS1510, Section 2.
CS 21a: Intro to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
Noadswood Science,  Information Wednesday, September 09, 2015.
1 TOPIC 1 INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING Topic 1 Introduction to Computer Science and Programming Notes adapted from Introduction to.
Purpose of study A high-quality computing education equips pupils to use computational thinking and creativity to understand and change the world. Computing.
Overview of Computing. Computer Science What is computer science? The systematic study of computing systems and computation. Contains theories for understanding.
The Study of Computer Science Chapter 0 Intro to Computer Science CS1510.
An Introduction to Programming with C++ Sixth Edition
ISECON Feinstein1 IM’ LATE FROM THERE TO HERE – FROM HERE TO THERE A FEW BITS AND BYTES David Feinstein Educator of the year 2004.
Automata, Computability, and Complexity Lecture 1 Section 0.1 Wed, Aug 22, 2007.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
S2008Final_part1.ppt CS11 Introduction to Programming Final Exam Part 1 S A computer is a mechanical or electrical device which stores, retrieves,
This course will help you understand the latest technologies & how they work. You will lean how to develop computer programs to solve problems.
Computer Science 210 Computer Organization Course Introduction.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
1 CSC 221: Computer Programming I Spring 2008 course overview  What did we set out to learn?  What did you actually learn?  Where do you go from here?
Programming in C++ Dale/Weems/Headington Chapter 1 Overview of Programming and Problem Solving.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
Course Aims This course will help you understand the latest technologies & how they work. You will lean how to develop computer programs to solve problems.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Computer Systems Architecture Edited by Original lecture by Ian Sunley Areas: Computer users Basic topics What is a computer?
CSC 241: Introduction to Computer Science I
CS 141 Introduction to Computer Science and Structured Programming
Fundamentals of Information Systems, Sixth Edition
Big Ideas in Computer Science
CS 21a: Intro to Computing I
COMS W1004 Introduction to Computer Science and Programming in Java
Computer Science 210 Computer Organization
Foundations of Computer Science
CS 1104 INTRODUCTION TO COMPUTER SCIENCE
CSC Classes Required for TCC CS Degree
Chapter 1 Introduction(1.1)
Programming.
Algorithms vs. Programming
Mechanical engineering technician
Careers week ICT/Computing.
CSC 241: Introduction to Computer Science I
Algorithms vs. Programming
Computer Science Dr Hwang Chair, Computer Science Department
Computer Science 210 Computer Organization
Presentation transcript:

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

Learn Computer Science President Hadi Partovi (code.org)

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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

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

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

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

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

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

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

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

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

What is Computer Science? Girls in a Tech World: Endless Possibilities of Computer Science (2:39) What is CS (2:26)

Problem Solving

End of Presentation

End of Slides Created by Arthur Hoskey, PhD

Unique aspects of CS

A man made field Full of changes and innovations

subfields

opportunities

challenges

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.

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

Be logical Algorithms and programming need to be discreet and logic

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.

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

Be strong physically Long hours of working

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.

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

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

Learn from failure, then quickly move on

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

Programming Hard Time consuming No shortcut

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

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

Be ethical difference in ethics in different fields

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.

Types of Knowledges

Relationship with other disciplines

What truly separate CS from other disciplines?