Competency in CS

 

Philip Johnson

Collaborative Software Development Laboratory

Information in Computer Sciences

ICS 690
Fall 2019

 

(Please pair off and get out paper and pencil.)

Competency isn't everything

Question:

What does

"CS competency" actually mean? 

Answer:

CS Competency in ICS (M.S.)

Question:

What does

"CS competency"

actually mean

in the Real World?

Answer:

That depends upon what kind of job you want after graduation

My personal criteria for a "good" job

 

Involves innovation.

Involves software development.

Well paying.

Let's assume you want more than 2 out of 3:

 

Involves innovation.

Involves software development.

Well paying.

So, what does

"CS competency"

actually mean

in this Real World?

Author Intro:
Gayle McDowell

Cracking the Coding Interview

  • Author is a software engineer who interviewed (and got offers from) Google, Microsoft, Amazon, IBM, and Apple
  • She did technical hiring at Google, Microsoft, Apple
  • Based upon her experiences and hundreds of other contributors. 
  • She still codes daily

AFAIK, the most comprehensive, evidence-based perspective on how industry currently defines "competency in computer science"

Why should you care about how industry defines "competency in computer science"?

1.

Because you might want a (good) job in industry after you graduate.

2.

Because an academic job might not be available to you after you graduate.

3.

Because being competent means you can do more stuff.

Let's dispel

some myths

Myth:
Coding is for undergrads

Myth:
Only a few companies test coding skills

Myth:
Researchers (Ph.D.s) don't need to code

Myth:
Whiteboard coding doesn't assess useful skills

Myth:
I can worry about this later

Myth:
CCI is just coding questions

Contents (Summary)

  • The interview process: Microsoft, Facebook, Apple, Google, Palantir, Startups
  • A year-long preparation guide
  • Behavioral vs. technical questions and answers
  • The process of problem solving
  • Big O
  • Arrays and Strings
  • Linked lists
  • Stacks and Queues
  • Trees and Graphs
  • Bit manipulation
  • OO Design
  • Dynamic programming
  • System design
  • Sorting and searching
  • Testing
  • C & C++
  • Java
  • Databases
  • Threads and Locks

How industry assesses competency

Why assess competency?

Group Work

Hints!

More Examples

Life Hacks for CCI

CCI is too big & heavy

3 lbs

2" high

You don't need all of it all the time

Divide and Conquer

Action Items

  1. Buy the book
  2. Refactor it into small, transportable modules
  3. Buy a notebook and a pencil
  4. Do one problem a day for six months
  5. Incorporate Preparation Map into your academic workload.

Obligatory

Research

Plug

Open power quality

Competency in CS

By Philip Johnson

Competency in CS

Presentation for ICS 690, Fall 2019

  • 54