main points explain the rationale for the core course sequence/degree plan for majors. establish...

19
Main Points • Explain the rationale for the core course sequence/degree plan for majors. • Establish expectations: be prepared for the rigor required in this major, especially the role of mathematics • Explain that application of computer science is inherently multidisciplinary .

Upload: brandon-mcdowell

Post on 04-Jan-2016

217 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

Main Points

• Explain the rationale for the core course sequence/degree plan for majors.

• Establish expectations: be prepared for the rigor required in this major, especially the role of mathematics

• Explain that application of computer science is inherently multidisciplinary.

Page 2: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

About the CS department at TAMU• know your advisors (in 325 Teague)

• departmental organizations– AWICS – Aggie Women in Computer Science (Dr. Amato)– TACS – Texas A&M Computing Society (ACM chapter)– TAGD – Texas Aggie Game Developers (Dr. Schaeffer)– ACE Scholars – CS honors program (Dr. Amato)

• departmental seminars – typically M/W, 4:10, in 124 HRBB– watch for Distinguished Lecturers

Dr. Vivek Sarin Dr. Richard Furuta

Page 3: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

Be Resourceful

• degree plan, requirements, and course catalog (pre-reqs) available on web– beware: not all courses are offered every semester

• CSCE department resources– computer accounts, email, labs...

• TAMU resources– library, SELL (software licenses for students)

• ask questions of...– your peers– the faculty

Page 4: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this
Page 5: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

CSCE 121

Introduction to programming (C++)

CSCE 314 Programming Languages

CSCE 315Programming Studio

CSCE 110 – PythonCSCE 111 – JavaCSCE 206 – C

CSCE 312 Computer Organization

CSCE 313 Intro to Computer Systems

CSCE 221Data Structures and Algorithms

CSCE 222 - Discrete Structures for Computing

400-level electives

CSCE 411Analysis of Algorithms

(or ENGR 112+CSCE 113 for CECN)

“systems” “theory”

Page 6: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

Other classes

• seminars: 181, 481 (prep for internships)• upper-level electives (400)

– tracks, breadth requirement• science classes (16 cr.)

– PHYS, CHEM, BIOL, or GEOS• supporting area (12 cr.)

– could be any interest area: math, business, music....– must have a “computational” connection

• Capstone (CSCE 482/483)– team-based projects

• ENGR 482 – Engineering Ethics

Page 7: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this
Page 8: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

Role of Mathematics in Computer Science

• Mathematical analysis plays a vital role in many computational systems...so be prepared for it.

Page 9: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

• Solving recurrence relations to estimate run-time complexity

for (i=0 ; i<n ; i++)

for (j=0 ; j<i ; j++)

<do something>

i=0:

i=1: j=0

i=2: j=0, j=1

i=3: j=0, j=1, j=2

...

• how many nodes are in a binary tree with n levels?

Combinatorics

1

2

4

8

16-----31

n=5 levels

another example:cryptography is allnumber theory andgroup theory

Page 10: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

• Matrix calculations are useful for...– perspective transformations Graphics– Scientific computing, e.g. solving heat

equation by finite element methods

Linear algebra

10

10100

0010

0001

'

'

'

z

y

x

dw

y

x

(borrowed from Dr. Jinxiang Chai)

Page 11: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

Fast-Fourier Transforms (FFTs)• useful for analyzing/compressing images,

sound files, speech recognition

adapted from: http://www.mathworks.com/help/matlab/ref/fft.html

FFT is an efficient O(N log N) algorithm forcomputing these coefficients, ak

signal: [x1,x2...,xN] coeffs: [a1,a2...,aN]FFT

Page 12: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

• compare performance of algorithms using empirical experiments

• evaluate performance of system under different loads• data analysis - finding trends, predictive models

• distributions– Binomial, Gamma, Poisson, Gaussian

• parameter estimationexample: given a series of user response-times, what is the Maximum-Likelihood estimate of inthe Poisson distribution?

Statistics

Page 13: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

• Is Calculus (integral/differential equations) ever used in Computer Science?– Yes, for example in queuing theory,

estimating network delays

– can use this to determine maximum service times, required queue length, etc.

from V. Rego (1986). Characterisations of Equilibrium Queue Length Distributions in M/G/1 Queues.docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1533&context=cstech

Page 14: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

The Multidisciplinary Nature of Computer Science

• Sometimes, CS may feel like a branch of mathematics (combinatorics, proofs of correctness, analysis of complexity...)

• However, CS becomes important to society when it is applied to real-world problems

Page 15: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

• Information Technology is pervasive– computation, simulation, connectivity– meteorology, health care, construction,

mapping, oil industry, pharmaceuticals, communication, financial markets, entertainment, even the military

• more fields are becoming ‘data-centric’– digitization– amassing huge databases (petabytes)– many jobs in software industry focus on

processing/analyzing this data– “Data Science” - databases, search, machine

learning, statistics, pattern recognition

Page 16: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

• Each application area has its own lingo– domain concepts, like anatomy/physiology...– types of data, format, sources of error

• Software engineers must learn how to communicate with customers– to understand users’ needs in that field– This is why we encourage you to develop an

orthogonal interest in a “supporting area”

• Since users don’t understand what things are possible/impossible with computers, we have to help guide the design– if we don’t use and understand their terminology, they

won’t respect us, and nothing gets done

Page 17: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

• more application areas:– business processes, quantitative trading– music – MIDI format, synthetic music, sound

synthesis, filtering– biology – genomes, metabolic pathways,

protein interactions, regulatory networks– archeology – cataloging of artifacts,

searching, identifying patterns– automobile design – engine controllers for fuel

efficiency/power, heat, emissions, manufacturing

– aerospace engineering - fluid dynamics and airfoil design, air-traffic control (congestion, routing), automation and displays in cockpit

your interest is your own, but thinkabout how it involves computation...

Page 18: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

• Another example: Interface Design (GUIs) and Cognitive Science – in order to design good interfaces, it helps to

understand how people think– how do they respond to different visual inputs?

e.g. button size, color, placement– should have a “cognitive model” of what tasks

they might be doing and what questions they might have

– cognitive factors that impact software usage: • attention, interference between perceptual modalities• limits on short-term memory• consistency – e.g. meaning of buttons like “submit”

and “cancel”• fatigue, distraction, expectation biases...

Page 19: Main Points Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this

Summary• The course sequence focuses on learning data

structures and algorithms at the lower level (along with systems and programming)

• Based on this foundation, you can take many upper-level electives.

• Be prepared for the rigor required in this major. Many topics in CS require mathematics.

• Computer science is inherently multidisciplinary, and it is important to learn the concepts and terminology in an application area.