Sunday, August 2, 2015

Computing is social

Computing is social. Really?!? That's not true. Computing, computer science, compsci, CS is a bunch of socially awkward unattractive white and Asian males sitting by themselves staring at a computer screen all day, everyday coding. And coding...that's hard and I think I would get bored with it after awhile. I don't want to make THAT my career choice!

So, I read your mind a bit (but not really...keep reading).

When you hear this stereotype, you believe it because you immediately visualize the lone male coder. It's an urban myth. Similar to your parents forewarning you about strangers tampering with your Halloween candy. These myths are sculpted to be memorable and believable "sticky" ideas (see “Made to Stick” by the Heath brothers - http://heathbrothers.com/books/made-to-stick/).

While Computer scientists are not strictly White or Asian males, the reported diversity in computing numbers and ensuing conversation for the past year is long overdue since these numbers are abysmal. But remember, women exist and succeed in computing. Underrepresented groups exist and thrive in computing. For example, check out http://quincykbrown.com/african-american-women-computer-science-phds/. The annual Grace Hopper Conference (in October 2015) and Tapia Conference (in February 2016) celebrate women and underrepresented groups in computing respectively. Each year, both conferences break attendance records. In addition, Many diversity initiatives are starting. I expect several of these programs will sustain IF AND ONLY IF the primary goal is to cultivate computationally-minded problem solvers who happen to be African American, Hispanic, Native American and/or Pacific Islander. Let me emphasize this point: The focus on an individual's aptitude in this discipline is crucial. You can not force an individual to be successful in any discipline if s/he doesn't have the aptitude, skill set and passion for it. The aptitude is an individual's natural inclinations toward the discipline and skill set can be taught while passion retains and indicates the individual's propensity for continual learning. That passion is encouraged, and eventually discovered, with exposure to different specializations of computing. Computing specializations grow and expand every few years, but here are the main categories (alphabetically): Algorithms, Artificial Intelligence, Bioinfomatics, Computer Architecture, Computer Forensics, Cybersecurity, Databases, Data Science, Gaming Technology, Human Computer Interaction, Information Security, Information Technology, Management & Information Systems, Operating Systems, Robotics, Software Engineering, Theoretical Computing, Wireless Networking.

The urban myth that CS is only for White males and Asian males is by no means debunked, but there are hopeful, change agent diversity in computing initiatives on the horizon. The attractiveness and socially awkward descriptions associated with computer scientists are subjective qualities. They are in the eyes of the beholder -- not all actors are attractive to everyone. So my commentary on those descriptions stops right here.

Let's say the "socially awkward ..." narrative doesn't cause you to run away from computing. The last piece of the CS urban myth tends to be the clincher: "alone coding all day everyday". Coding is only a part of the computing craft. Coding gets a bad reputation because it takes patience and practice to learn and effectively apply. There is no shortcut to learning to code. Coding is a computer scientist's equipment (like words to a blogger or a 9-iron to a golfer). Computing encompasses so much more, it has become social:

S -- systematic. Computing pieces together interdependent components intended to solve a problem and/or resolve an issue computationally. The GPS in your car or smartphone interfaces with the satellite towers to gather location information, roadway maps to determine plausible routes and real-time traffic reports to identify the faster route to the desired destination.

O -- omnipresent. Computation is at the core of many humanities, fine arts, management and STEM disciplines. If you pursue computing, you can surely find your niche. We benefit from the advances in computer science everyday such as reading email, dvr'ing our favorite shows and online banking.

C -- creative. We carry these small computers in our pockets. How many apps do you have on your smartphone? How many of those apps essentially perform the same function? Each app has more functionality you like than features you don’t like. I have 4 Holy Bibles apps, 3 Home Search apps, 2 Music playing apps and 1 of everything else apps on mine. A different design of an existing feature or a new feature becomes the base for a new system and possibly new crop of consumers.

I -- interactive. These systems are designed and built by coders with the expectation of bringing value to us, the consumers. Coders must discuss amongst themselves the set of viable approaches to address concerns raised by potential consumers. These discussions lasts for months with each iteration revealing new potential issues while addressing existing challenges. Discussions end when the system’s features outweigh the system’s issues. For example, certain spelling errors are very common so now electronic and computing devices auto-correct those spelling errors by default, but not all spelling errors are resolved.

A -- algorithmic. The approach and corresponding methods to solve an problem or resolve an issue requires sufficient planning and comprehensive design. Poor planning and design is a recipe  for an unstable useless system that will not engage consumers.

L -- lexicon. A coding computer scientist has to select an appropriate computer programming language to represent and execute the planned design. A programming language is constructed to optimize a particular set of designs. C# (C-Sharp) is intended for use in developing software components suitable for deployment in distributed environments. Python is a general-purpose high-level programming language emphasizing code readability for clear, concise small and large-scale programs. Javascript is a programming language of HTML and the Web while PHP is a server-side HTML embedded scripting language.

Perhaps I have not convinced you that computing is social. But, maybe the next time you check your email, google something or drive somewhere, you will take a moment to think about the computer scientists who contributed in making that action a little easier for you. And they were not all socially awkward unattractive white and Asian males sitting by themselves staring at a computer screen all day, everyday coding.

Saturday, February 7, 2015

#BlackComputing

Fall 2014 marked the beginning of my tenure at Spelman College, a four-year liberal arts HBCU women's college. One of the courses I taught was Data Structures, commonly known as Computer Science II (CS2). While I reviewed the more finalized version of the CS2 syllabus with this group of brainy and excited aspiring computer scientists, several students informed me that they would be missing classes in order to attend Grace Hopper Celebration of Women in Computing Conference (btw, a great conference for any woman in computing). Of course, I asked the class if they had heard of Dr. Grace Murray Hopper, the conference's namesake. Unfortunately, they had not. I told them. The impromptu factoid resonated with my class.

So each week thereafter, I introduced them to a computer scientist who is Black. I named it the #BlackComputing series. I selected a mix of men and women, those in academia, industry and government, and a couple of Spelman alumna for extra emphasis. In the spirit of celebrating February as Black History Month, let us not forget to acknowledge current Black accomplishments. Here are the scientists in my #BlackComputing series (and a couple more), in random order.

  • Kyla McMullen, Assistant Professor of Computer and Information Science and Engineering at University of Florida. 
  • Bryant York, Professor of Computer Science at Portland State University.
  • Andrea Lawrence, Associate Professor of Computer Science at Spelman College. 
  • Ayanna Howard, Professor of Electrical and Computer Engineering at Georgia Tech. 
  • Tyrone W. A. Grandison, CEO of Proficiency Labs International.
  • Tony Baylis, Director of Office of Strategic Diversity Programs, Lawrence Livermore National Laboratory. 
  • Mave Houston, Founder & Head of USERLabs and User Research Strategy at Capital One.
  • Kwesi Steele, Chief Technology Officer at JoMedia Inc.
  • Roy Byrd, Research Staff Member Emeritus at IBM Research.
  • Raquel Hill, Associate Professor of Computer Science at Indiana University-Bloomington
  • James Mickens, Researcher at Microsoft.
  • A. Nicki Washington, Associate Professor of Systems and Computer Science at Howard University and Owner of 'A' Game Educational Services.
  • Juan Gilbert, Andrew Banks Family Preeminence Endowed Chair and he is the Associate Chair of Research in the Computer & Information Science & Engineering Department at University of Florida. 
  • Leshell Hatley, Founder and Executive Director at Uplift, Inc. and Graduate Research Assistant at George Mason University. 


Saturday, January 24, 2015

New School Learning Curve

The first days as an Assistant Professor is filled with adrenaline-laced excitement. The anxiousness and eagerness to get to work has you bright-eyed and bushy-tailed. New faculty orientation consumes the first days while you are mentally creating prioritizing your checklist: obtaining your institution login information, your new email address, signing up for your parking pass, meeting with your Department Chair and checking out your new office. Your faculty identification card, office layout, computer setup and business card ordering will happen in a few days. The focus is settling into this career path — making that context switch from your previous status as a graduate student, postdoc or other technical professional to an academic.

The first days as an Associate Professor at a new institution is a seemingly echo of your first days as an Assistant Professor. The adrenaline excitement is replaced with  an excited calm. Prior academic work experience makes that aforementioned checklist unnecessary. The systems integration of your credentials and generation of your new affiliation occurs at the pace of the institution. Your inaugural year teaching, research and service expectations are far more reasonable. The academic life can be summed up by solving the Tower of Hanoi puzzle.

Towers of Hanoi Description
The puzzle traditionally has 3 pegs: starting peg, spare peg and destination peg. The starting peg has a user-specified number of disks with the disks stacked from smallest to largest (largest disk at the base of the peg). The object of the puzzle is to systematically move all the disks from the starting peg to the destination peg, but a larger disk can not be placed on top of a smaller disk. The key to solving this puzzle is understanding that the functionality of the pegs alters as you are moving the disks, e.g., when moving a disk, the starting peg operates as the spare peg, the spare peg operates as the destination peg and destination peg operates as the starting peg.

But here's the rub for any new faculty hire:

1. You don't know the number of disks
2. You don't know the number of pegs
3. You don't know which is the starting peg, spare peg and destination peg.

Initially, you can safely assume there are 3 pegs and 9 disks. For the purposes of this example, the disks are stacked service activities at the top, then teaching and lastly research activities at the bottom.

Disk 1: Institution Collegiality
Disk 2: External Collegiality
Disk 3: Course Preparation
Disk 4: Course Modification and Development
Disk 5: Research Team Building
Disk 6: Publications
Disk 7: Conference Attendance
Disk 8: External Grant Writing
Disk 9: Funded Award Management

Disk 1 &2: Institution and external collegiality — The variety and plethora of academic service-related activities has the potential to consume your days (and nights). Be purposeful of which departmental, college-wide and technical program committees you are a member.

Disk 3: Course Preparation — A class lecture is like Showtime at the Apollo (http://en.wikipedia.org/wiki/Showtime_at_the_Apollo). Depending on your temperament and talent, you select how you will engage students in the course material via a series of slide decks, problem-based learning techniques, flipped classroom or another method altogether. Each class, you are on stage and the students tell you by their (lack of) questions, body language, (lack of) enthusiasm, etc if your teaching approach has resonated. If you instruct a course that tends to interest students, kudos -- course prep becomes a bit easier. Otherwise, I suggest you invest quality time to determine how to relate the material to your student body. Any course can be exciting when the proper care is given to the learning experience. A teacher's excitement about the materials helps fuel a student's deeper curiosity about the course content.

Disk 4: Course Modification and Development — Course material can become stale and outdated. The fundamental course topics can be presented in new ways, new assessment mechanisms can be devised, your prior experience with the course could render you to change the order of course topics. Course evolution through revision or developing a new course is a necessary activity of any faculty member. By evolving your course, you increase your likelihood of students’ remaining engaged in your courses year after year.

Disk 5: Research Team Building — The talent and aptitude to mentor students in research activity is the hallmark of a great research advisor.  Honestly, experience is the best teacher. You have to learn the balance of motivation and criticism, students' temperament and abilities, work effort and work product. I suggest The Craft of Research by Wayne C. Booth and Made to Stick by Chip and Dan Heath as good starting points.

Disk 6: Publications — The frequency and quality of your conference papers, journal articles, book chapters and books are common academic metric in assessing a faculty member's national and international influence. The summer months are a great opportunity to complete scholarly work due to the lack of a required teaching responsibility. The co-authorship with fellow colleagues and students is strongly encouraged, in some academic environments, a necessity.

Disk 7: Conference Attendance — Conference registration, attendance and paper presentation are required for publication. The conference talks help keep you current in your field's advances. While the time and cost of conferences can be expensive (see previous post), it is a cornerstone of your branding activities. The reputation for contributing good work to the field and presenting it well will only help in bringing opportunities knocking.

Disk 8: External Grant Writing — When responding to a grant proposal solicitation, the act of actually writing the project objectives, anticipated outcomes, evaluation and assessment plan is a time-intensive, idea-articulation scholarly exercise. The proposal operations can be an added stressor that consists of working with your institution's office of sponsored programs for internal grant submission approval. The coordination of the proposal document, supplemental materials, and colleague collaborations. Grant writing and proposal submission has a high work-effort yielding a low conversion to a funded award, but if awarded, external awards are highly valued in the academic realm.

Disk 9: Funded Award Management — Do your work and do it well.

With great power come great responsibility. ~Voltaire

A funded grant gives the awardees a newfound elevated social currency (aka power) amongst his/her colleagues.  The spotlight turns in your direction to revel in your successes and witness any mishaps. Don't let the award excitement overshadow the necessary work in properly accomplishing the project outcomes.