Core skills for CS/IS students

Core skills for CS and IS students

When it comes to computer science (CS) and information systems (IS), one size simply doesn't fit all. These umbrella terms encompass many diverse fields of study and areas of expertise, which eventually pan into very different career paths. With so many avenues, it's tough pinpointing exactly what to teach students before they step out into the real world.
Thankfully, there are several core skills that each and every CS student and IS scholar will need to know by graduation; skills that will help them get a head start in the tech industry, no matter which path they choose. Some of them are:
  • Technology must provide business value 

    Often, with technology, we're lured by the shiny new gadget or software that promises to solve all IT problems. But students need to know that the technology they're using is only a tool, one that provides value. The key is to not implement technology just for technology's sake. Understanding how to use that tech to provide business value is what's really important.
  • Core security concepts 

    Security is important, and the level of security knowledge needed depends on your student's emphasis. Students should understand the different vectors their systems can be vulnerable to. Also, it doesn't hurt to teach students how to employ concepts like cryptography, authentication, authorization, roles, threat analysis, defensive coding, monitoring and detection.
  • Networking 

    Any CS and IS student should have a basic comprehension of networking. IT-focused students will work with the network every day and therefore need a deeper understanding. They should know how to build an efficient, reliable transmission protocol, like TCP, on top of an unreliable transmission protocol, like IP. And programmers, at least, still need to understand the purpose of a network stack and routing protocols within a network.
  • Ticket tracking

    Others in the workplace will depend on tech professionals for a variety of reasons, and once students are in the real world they'll get tickets, whether they end up as developers or IT ops-there's no way around it. A big part of ticket tracking is communication and organization, so make sure your students can communicate what they're doing in layman terms.
  • Data 

    Getting familiar with data is imperative for any CS or IS student. Of course, some disciplines will work with data every day while others won't, but understanding it on a basic level will go a long way. Computer science and information science students should be able to comprehend data processing, analytics, visualization and databases. They don't need to be well versed in all of these, but they should be at least familiar with them.
  • Hands-on experience in a test lab 

    So many CS and IS degrees make students spend all their time in the books, and not enough time actually working to configure environments. Although programmers and IT ops need access to test labs for different reasons, working in a lab is crucial. Working in a test lab gives future computer science professionals a lot of hands-on-experience before working their first job.
  • Create a portfolio 

    Your students should produce something like a personal blog or per-project page that's public. If they're developers, encourage them to have public code on a site like Github. Programmers should contribute to open source and link and document what they've done. IT-focused students can document their progress in their projects, as well their thoughts about current issues in the industry. These portfolios make it possible for future employers to accurately judge their ability. Design course projects with portfolios in mind so that students can update them at the end of every course.

Skills for IS/IT students:

  • Virtualization 

    It's imperative that IS students understand virtualization because it has the ability to provide numerous efficiencies and cost savings. Through virtualization, you can utilize hardware to a fuller extent and provide more mobility/scalability in which you host your systems and application.
  • Identity management 

    Students need to know things such as Active Directory, LDAP and cloud-based management. Identity management is the fundamental core skill they'll provide as part of an IT department. Customized access for users, as well as establishing and managing roles and access privileges is a crucial part of an IT job.
  • PowerShell 

    PowerShell gives you the ability to automate and simplify repetitive tasks by combining commands together and creating scripts. Your students can be more productive using PowerShell because of the hundreds of customizable commands available to them. If they become confident with PowerShell, they'll have a lot of opportunities since it's become an integral technology in the IT world.

Skills for computer science students:

  • Version control 

    If your students aren't using a form of version control, like Git, they're already behind. Teams use version control to refer back to earlier versions when necessary. Understanding how it works is often a non-negotiable skill.
  • Create a project from end-to-end 

    Software development students need to know how different processes work together. If they work on something from beginning to end, they'll better understand the processes and languages they're using. Also, have them document what they learn-doing so will help them contribute to their portfolio site.
  • Learn more than one programming language 

    Mastering a new programming language is a skill that improves with practice. The more experience your students have with new programming languages, the better prepared they'll be to quickly learn the next hot language. Likewise, they should know diffrent kinds of programing languages including:
    • Procedural
    • Object oriented
    • Functional
    • Declarative
    • Imperative
    • Strongly typed
    • Weakly typed
    • Static
    • Dynamic
    • Machine/assembly languages
  • Familiarty with flowcharts 

    Students should know how to plan a project from beginning to end and be able to communicate their decisions. A flowchart is a helpful way to think about how one step moves into the next, and also forces them to articulate their ideas in such a way that others can understand their process.
No matter which path a CS or IS student follows, a little bit of instruction goes a long way-make sure your students develop these tech skills before they toss that cap in the air.

*Meant for College Teachers but can be used by anyone as an aid to their personal skills development program.

Comments

Popular posts from this blog

Data Science 

Learning Path for Deep Learning in 2019

Day 12, 13 and 14 - Daily Dev Diary