OPS145 Introduction Newversion: Difference between revisions

From Littlesvr Wiki
Jump to navigation Jump to search
Line 87: Line 87:


=== Parts of a computer ===
=== Parts of a computer ===
=== Things that don't look like computers ===


=== Operating systems ===
=== Operating systems ===

Revision as of 16:18, 31 December 2023

Welcome to OPS145, the beginning of the OPS stream. This course (if you take it seriously) can be the start of a great career: both challenging and rewarding.

Professor

Unless someone else is using these materials (which they're welcome to do): my name is Andrew, and you can find my schedule here. Typically my labs aren't full, so you're welcome to come to any of them. If you're planning to come to a lab for another course: you might want to check in advance to make sure I don't have a test and that that class isn't cancelled.

Other than the labs and the hallways between them: the only way to get in touch with me is via email. I'm reasonably good at replying to email, especially if I understand what you're asking, and what you've done to try and figure out the answer yourself.

I like people who work hard, and dedicate themselves to whatever they chose to take on. If that's you, or if that's who you strive to become: we're going to get along well, and I'll do my best to help you succeed.

If you just want a passing grade: that's your business, I have some minimal requirements for passing the course you'll want to review. And when I say "minimal" I mean minimal, not negotiable.

Course materials

There is no textbook for this course. The materials you need to start with are on this wiki website. When working without my help you'll often find yourself using a search engine to find other useful websites. Feel free to use them. That's what you'll do when you start working in this industry.

You do need some hardware:

  1. A PC powerful enough to run VirtualBox, with a couple virtual machines at the same time. In practical terms that means any modern PC with at least 16GB of RAM. It can be running Windows or Linux (any version of Windows or Linux is the same for our purposes). A Chromebook or tablet will not be powerful enough. If you insist on using an Apple computer: you may, but you'll have to figure out yourself how to get virtualization to work on it. If you really, really, really can't afford a computer and you want to use a lab machine at school: you may, but be prepared for all sorts of unforseen problems which you'll have no control over.
  2. A portable SSD drive with a USB3 (type A) connection. This is useful if you're using your own machine in case your computer breaks, you can plug in your work into another computer. It is required if you're using the lab machines, since no data you create will be preserved on those machines. You're also likely to need a portable drive for other courses, which is fine as long as it has enough space.

Prerequisite skills

In first semester I'll assume that you know nothing of Linux, you've never seen a terminal before, and you barely understand what a computer is. That's fine, but you'll have to stay alert and absorb as many fundamentals as you can, especially during your first year.

I'll also assume (based on past experience) that you don't know how to learn, how to think, how to communicate, or how to work hard - because you never had to before. That's something you'll have to find the motivation to fix yourself. I encourage you to do your best to find that motivation. It's not too late, and the potential difference in the quality of the rest of your life will be enormous.

If you're trying to go through this full time program while you're working full time (or even part time): good luck to you, but there is very little chance you'll more than a rubber stamp to show for your years of education. There much more to learn than there are hours available in a day/month/year. So unless you're taking a break because your brain is about to crash from overload: you're cheating yourself of the opportunity to get ahead of your peers.

Path to success

Nothing in life is free. The fees you're (maybe) paying as a student are insignificant compared to the benefits of a successful career.

Success comes to those who are consistently smart, tough, and hard working.

In the coutext of this course and this stream that means: learn, learn, and then learn some more.

  • Learn about the technologies, their history, their uses, their abuses, their features and bugs.
  • Ask questions about things you don't understand, and ask for feedback often. I'm happy to help you, but I won't if I don't know that you want help.
  • Learn how to deal with people.
    • Every professor is different. Some of them you'll like and most of them you won't. That's exactly what your professional life will be - whether you're working for a boss, or you're your own boss working for clients. Find your own ways to put up with the nonsense and make the best out of every relationship.
    • Your peers are just as random as your professors. Once you're comfortably at home in the school: try to interact with them too. Every one of them will be interesting in some different way. No matter who it is: an average person, an asshole, a know-it-all, a party person, a boring fart, an idiot, a genius: you'll have to deal with all of those in your professional life. The sooner you start interacting with the different personalities: the better prepared you will be for the inevitable interaction with them later.
    • The "everything is online now" thing doesn't make communication easier or less important - it does the reverse. More than ever now you have to put effort into understanding what people want, and communicating that you've got it. Or else noone will even know that you exist.
  • Learn how to manage your time. There's never enough of it, but you'll never have more flexibility with your time than you do now as a student.
    • Balance and sort priorities.
    • Discover that the best time to do anything is right now. The only reason not to do something now is that you're doing something else which is more important.
  • Learn your limits.
    • You're never going to know everything. Accept that, and instead of giving up: use it as motivation to keep learning for the rest of your life.
    • Find your breaking point (commonly called burn out). That way in the future you'll sense the signs that you're about to run out of juice again, and use that to balance and sort your priorities.

You're building your life now, and building your life is your responsibility, noone else's. That was the case since at least high school, but now noone will even pretend to be responsible for your development outcomes. It's all on you. Accept it, and make the best of it.

Course structure

You have four hours of class per week in this course. Generally speaking I'll spend two of those hours talking, and the other two hours helping you get your work done.

I encourage you to resist the temptation to skip class. I don't keep track of attendance (except on test days), but you will get more out of the course if you make yourself go to lectures to listen to me, and force yourself to go to the labs even if you don't have any questions to ask nor any friends to hang out with.

One day I might decide to record videos of my lectures, but that's not a priority for me right now.

Graded work

  • You need to come to class to do both tests.
  • Quizzes will be done on Blackboard. I don't do surprises, they'll be announced in advance.
  • The labs will be submitted over the internet using commands from your computer.
  • I haven't completely decided yet, but I expect the review labs will have to be done in class.

The rest of your program

Presumably you're in this program because you're hoping to build a career with systems and networks administration. That is a very vague statement, which you'll need to start clarify to yourself over the first couple of semesters.

Generally speaking after you finish your program you can become:

  • a system administrator (Linux or Windows, not likely both),
  • a network administrator (Linux or Windows or Cisco),
  • a technical support representative,
  • the IT guy on a team of developers,
  • some custom software specialist, or
  • a DevOps guy (currently the most lucrative job)

There is no direct communication between professors for different courses, or even different sections of the same course. There are many reasons for this, including the fact that there are too many of us. I have no way of knowing what you're learning in other courses, therefore I will likely repeat things you've heard (or will hear) someone else. That's not such a bad thing actually - you're more likely to remember it.

Keep your interests broad until you're quite sure you've picked your path. For me that happened by the middle of the second year. But even after you do: remember that there is more in common than is apparent between different technologies. So don't ignore the stuff that's not obviously in your career path.

Hello computers

Computers are everywhere now, but the number of people who understand them hasn't increased that much (if at all) over the last few decades. Everyone knows how to poke their finger at a touchscreen, but that is not any closer to IT knowledge than switching TV channels is to electronics.

Hopefully you've picked this program because you already know you're interested in computers, and you've learned things you friends/parents/randompeople don't know. If not: now is the time to start.

The body of knowledge related to computers is incomprehensibly enormous. I don't think anyone has even tried to quantify it. I've picked some basics for this week based on my experience, but every interesting piece of information you choose to pursue will take for ever to fully understand. You'll never know it all, but you can learn enough that everyone around you will think that you do.

Digital electronics

Parts of a computer

Things that don't look like computers

Operating systems

Services and applications

Networks

Security

Open source software