using a mac and getting a computer science degree

App Developer

Hi.
I'm just wondering, for those of you who have degrees in computer science, what computer did you use? I plan to use a mac. My school uses windows and c++ I can only afford one computer. I want to use the mac, but I'm worried that I won't be able to use c++ with xcode. Is it better to use a pc? I don't want to have to buy one.
Thanks.

Forum: 

#1 Thoughts from a blind CS major

Member of the AppleVis Editorial Team

Hello,
First, I have a computer science degree, but I finished getting it in 2011. Thus, I'm a bit out of date. However, I do use a Mac.

Some of this depends on, well, a lot of factors. How flexible your professors will be, what topics you'll cover, etc. For instance, is there a class where the whole point is to learn other IDEs, or to use a bunch of different languages? My school used Java a lot, but also Python, C#, PHP, and a smattering of others.

More to the point, this may not matter. If your Mac can handle it, you could just buy a copy of Windows, install it either virtually or via Bootcamp, and run both operating systems on one machine. That may be the easiest, most flexible option.

#2 My school has classes on

App Developer

My school has classes on different programming topics. They use c++ mostly and I think also html for one course. Also, if I buy a copy of windows to install on the mac, would I also have to purchase Jaws? I will also need to talk to my professors, and I'm not even registerd for classes yet. (long story.) By the way, did you know that Stanford in California has a corse in iOS development? I think that's so cool ... But community college is where I'm at right now. Maybe I'll go to MIT ...

#3 I would guess most people

I would guess most people would just recommend you create a dual boot on your Mac, and also have a virtual machine of Windows. It's cheaper than buying a whole new computer, and allows the flexibility of using both. I'm definitely not judging you, as your situation sounds financial, and this isn't necessarily isn't the place for this debate, but I find the trend of blind IT/computer professionals being diehard Mac fans to be troubling. Having a preference is one thing, but utterly rejecting a medium is limiting and less efficient.

#4 This probably isn't the place

App Developer

This probably isn't the place to say this, but my family does not have a lot of money, and I deffinitely can't ask my parents for help. I do prefer the mac. However, I'm very much open to installing windows on the mac. Also, is it possible to uninstall windows from a mac? I plan to uninstall it after I get my degree, seeing I want to develop iOS apps.

#5 If you wanted to use jaws,

If you wanted to use jaws, and you have a copy, already, you would just use one of your license slots. You could also just use nvda, though, which is very nearly as good as jaws. Someone more versed can tell you if nvda can be used for programing languages and programs. Even if it isn't, I'm sure you could script it to be.

#6 Yep, you sure can uninstall

Yep, you sure can uninstall Windows. Just make sure you remove all your programs with licenses first and clear your Windows registration, so if you ever did down the road want to reuse that copy of Windows, you can. Most schools do offer Windows for free to their students, or have them at extreme discounts. Good luck! I'm excited for you.

#7 More thoughts

Member of the AppleVis Editorial Team

You'll have to look into whether Xcode can work with C++ natively. I think it can, but I've never tried. HTML shouldn't be a big deal. If you have a braille display, so much the better, but if not, no problem.

As was said, yes, you can remove Windows. Also, yes, you could use Jaws. Honestly though, I'd use NVDA. I used Jaws in college because it was what I had, but I've used NVDA for four years and am using it for my current IT job. It does just fine, and is always getting better.

More generally, I do understand wanting to develop iOS apps, as that's an interest of mine as well. But I'd encourage you to explore other languages and platforms. Make a Windows app with C++, and C#, and Python. Make a Mac app in Swift, then try to mirror it on Windows. Play with languages, platforms, and concepts. The more widely you get to know programming, the better off you'll be. For instance, you never know what kind of job you'll wind up getting. The other day, my boss wanted me to make a sample PHP file for a customer, demonstrating our company's API. It took me a few hours, because I had to look some things up, but I'd done enough PHP, and used enough web APIs, that this task wasn't something that made me panic and scramble. I just had to refresh myself on some syntax, do a bit of troubleshooting, and I was done. I've also had to make Python scripts, use SQL, and learn about a whole new database system. None of it is anywhere near as hard as it would have been if I hadn't studied so many widely varying concepts in college and on my own. By all means, use Xcode, make some apps, and use that as a starting point. You'll learn a massive amount just from that--I'm not trying to minimize it at all. But, don't be afraid to try other languages and platforms at the same time. You'll find things you like, and hate, about each one. Eventually, you'll get to a point where you can look at a new language in terms of syntax and whatever nifty things it has. You know flow control, object-oriented programming concepts, functions, data types (or the lack thereof), and so on, and new languages are just a matter of how to implement those concepts in a given syntax. Basically, the wider you can go, the better prepared you'll be.

#8 Oh my God, I'm so excited!!!!

App Developer

Oh my God, I'm so excited!!!! Thanks so much for your help. I think I will use NVDA. I've never used it, but I learned VoiceOver within a few days. Knowing that I can install windows on a mac has made me not feel stressed out anymore. Now I know for a fact that I can succeed at getting a degree in computer science and I don't have to worry about which computer I will use. I'm so happy I'm going to die of happiness... Okay, not really. Also I heard that NVDA is free and and that it was programmed in python.

#9 NVDA versus JAWS

If you already have a background in JAWS, there used to be a tutorial floating around somewhere that had information on how to adjust NVDA to make it behave more like JAWS (no programming involved).

#10 I think I'm going to install

App Developer

I think I'm going to install windows on my new mac when I get it. I'm definitely not afraid to try different languages. And I've been using google to learn objective-c. I definitely don't know what job I'll have in the future. But I really want to apply for a genius bar position at Apple and develop apps on the side. I have some experience with html. But it seems that generally programming concepts for most languages are the same, but I could be wrong about that. One thing I find fascinating is that a variable is essentially a virtual container for storing data who's value can either be changed or manipulated... Man, now I'm just rambling. I'll shut up...

#11 Don't forget Swift

Member of the AppleVis Editorial Team

Objective-C is good to know, because so many examples and third-party frameworks are written in it. Don't forget Swift, though, which is the language many people are switching to. For VO users, it's easier largely because it doesn't use the nested brackets that ObjC does. It does use question and exclamation marks that can be harder to pick up without braille, but you get a feel for where those are and when to check for them. Of course, it has other advantages over ObjC that aren't related to VO.

#12 Swift, right... Well my xcode

App Developer

Swift, right... Well my xcode project is gone anyway. I'm probably saying this on the wrong forum topic, but I was reading something about the nfb wanting apple to force developers to make all apps accessible... I think that's impossible, but I could be wrong. Anyway, I found it interesting, since I was developing an app for I physically lost the entire xcode. (long story.)

#13 I would love to learn swift

I would love to learn swift, but these books I've picked up are just so confusing. I wish there was something that boiled it down and explained in non-tech terms. I'm an economics student, definitely not a CS student, and I just wish to develop apps on the side.

#14 learning swift

App Developer

Try google. Try typing in something like: basic syntax of swift. I think Google's your best bet. That's how I learned objective-c.

#15 Re Swift

Member of the AppleVis Editorial Team

I hate to say it, but learning a programming language is, well, technical. Until you understand what functions, classes, flow control statements, and other concepts mean, you'll have a hard time of it. I'd start by searching out articles that explain the core concepts, regardless of the specific language they use. Once you understand those, Swift will suddenly make a whole lot more sense.

Molly is right, though, in that googling is the best way. I tried Apple's Swift book, and couldn't really get into it either. I just started reading blogs and guides I found, and googled specifics (making functions in Swift, using enumerators in Swift, etc). I keep notes, and Swift came pretty easily.

#16 concepts of programming languages

App Developer

i agree. I learned the concepts such as functions, variables, arguments, and a word that starts with a p that I can't spell. Oh, and strings, which are essentially characters enclosed in double and single quotation marks. I'd recommend a free app called Lrn which teaches the concepts of python, html, php, java script and ruby. It's very VoiceOver accessible and gives you quizzes on all the different concepts on the concepts of programming languages. I aced all of them. The app offers in-app purchases to unlock all the lessons. I'd recommend it if you want to learn programming concepts. Also, I want to have as much experience as I can before I start school. Use google, for swift or objective-c, though.

#17 NVDA

Yes, NVSA is free and open-source. You can add other synthesizers to it if you don't want to listen to mechanical-sounding voices along with add-ons to enhance its functinos. I have both JAWS and NVDS on my WINDOWS partition. I have NVDA for back-up in case something heppens with JAWS. If you'er going to Boot Camp your new Mac, assuming yuo're getting the latest model, WINDOWS will run fairly smooth on it, and the battery life is equal to that on the MAc side of the partition. I have the newest MacBook Pro and it is wonderful.

#18 Some thoughts

Hello Molly,
I'm so glad to hear that you're pursuing computer science! I'm in my senior year and really love it! I use a Mac and have windows in a virtual machine. This works well for me as I can share files back and forth super easily without having to duplicate an entire file system. I also very much like the Mac's terminal. UNIX command Line syntax just makes way more sense to me. as for IDEs, I've heard extremely good things about eclipse. It's not so great on Mac, but is apparently pretty accessible on Windows. Also, I've had pretty good luck with visual studio and jaws. Unfortunately, it's not so accessible with NVDA. It's workable, but is just SO much easier with Jaws.
Another thing to consider: I know that you said your family doesn't have a lot of money. Can your state's department of vocational rehabilitation give you any assistance? This is what they're here for: to ensure that you have the tools you need to become a successful, contributing member of society. They should at least be able to help you to purchase tools and services that a sighted student wouldn't need for college--O and M services, readers, programs such as jaws and open book or kurzweil, and assistive hardware such as a talking calculator, notetaker, or Braille display. trust me: a good Braille display is an absolute godsend when you're learning to code. The first semester before I got mine, I'd easily spend 3 or 4 hours looking through my code character by character to find a missing semicolon, parenthesis, or incorrectly done indent. It nearly drove me out of my gourd. Once I got my Braille display and realized that my homework time had literally been cut in half, I cried.
VR should also be able to give you some assistance in paying for college itself, as well as helping you a bit with rent. Finally, if you're lucky, VR may even be able to help you purchase your mac. This will take a bit of doing from you, as they primarily purchase Windows computers for clients, but if you're knowledgeable about what specs you need and why and can prove you've done your research and know what you're about, they should definitely help you.
If you have any further questions about any of this or just want to talk to someone who's been through some of these things before, feel free to message me. I would never have gotten through my first few classes if I hadn't been able to talk to other blind role models who gave me suggestions, tips for alternative methods of tackling projects I didn't think were accessible, and just supported me when I was having a particularly hard time. I love when I get the opportunity to pay it forward, as it were.
The best of luck, Molly! I'm rooting for you!
Megan

#19 RE: Megan's comments

App Developer

I agree with Megan on all of her comments. In fact, the DVR is paying for every service she mentioned except for readers and AT devices/software. I am in my Masters degree for software design, so, I know how to navigate the system when it comes to school and VR services. I don't have a braille display because I don't know enough braille to justify the claim for one.
I discovered the joy of Bootcamp last week. After attempting to install Windows 8.1 without sighted help, I know have a Bootcamp partition on my late 2015 MACBook Pro. Compared to my Lenovo laptop, it puts it in the grave. It isn't fair when it gives me a 700% increase in performance. Then again, Apple hardware + 16GB of memory, an I7 5th gen with 8 cores, and an Intel Iris Pro video card with 2GB dedicated graphics would explain the performance. Unless I can help it, I will never use a laptop from HP, Dell, and so on.
Visual Studio 2015 works best with JAWS 16 and later. If you can Bootcamp Windows 10, Visual Studio will run with a high performance profile that it uses. You can change it in tools>options>environment>general if needed. I found Netbeans 8.1 to have good performance levels in Bootcamp compared to a native install of Windows on other devices. In the end, the tools you use are a matter of personal preference and the industry you want to work in. If you are like me, and will start your own business, then you must have exposure to as many operating systems, development tools, programming languages, and workflow processes as possible. A client probably will not care if you use PHP tools for Visual Studio to build a website, or Netbeans 8.1. The only deliverable they care about is the final website. The only way tools are critical to the client is if the tools used in the project are defined in the contract.
Don't forget to advocate for yourself while in school. My undergrad degree was tough. I thought I would have needed more support from my VR with some of the classes. However, self-advocating saved me the problem of getting a 3rd party involved. As Megan said, if you want someone to talk to that has been there before, send me a private message.

#20 Hi!!! I'm not sure if vr will

App Developer

Hi!!! I'm not sure if vr will help me with school now. See, I always dreamed of getting a computer science degree, but being blind, I stupidly thought I couldn't do it. So I took a frient's suggestion (who was trying to help,) and enrolled in massage therapy school... What was I thinking? So I started learning objective-c and realized I can learn to code. So I have to finish massage school, which I discovered is very hard, and for me, very boring. I can't relate to any of my friends, because I can code and they are not interest in computer science. Well I think I can pay for community college, as vr is paying for massage school. I wish I knew then what I know now. I never would have enrolled in massage school if I'd had more confidence in myself. I can figure out programming concepts much better thann I can memorize every muscle in the body. Glad this nightmare ends in May. Then I can focus on getting my computer science degree...

#21 It's still worth a try

Molly,
Students, both sighted and blind, change their career goals all the time. VR has probably seen something similar before. It's still worth asking whether they can support and explaining this to them. Worst thing that happens: they tell you no. But at least then you've tried. :)

#22 Changing degrees

App Developer

I am in my masters degree and changed. I originally thought I wanted a technology management degree. However, I realized that that degree will take me away from the technology itself. I could no longer live in databases, source code, or have the ability to discuss projects with clients. I changed my degree to software design. The VR has no problems with changing a degree as long as I could show them that I can handle master level classes. Just explain the problem to them, then ask if they will help with the new degree.

#23 I'll definitely ask them. In

App Developer

I'll definitely ask them. In my massage class, there are people in there forties and fifties who had other careers and came to massage school after years of doing something else. This kid in my class was a former computer science student who switched to a career in massage therapy. And he went to the same school I will eventually go to. I'm glad I figured out what I want to do while I'm young. I will definitely ask vr if they will pay for another degree. Maybe I can show them how much I have already learned with using objective-c...

#24 VR and objective C

App Developer

Showing them how much you learned objective C isn't going to help matters. You need to show them that you have learned transferable skills in your current classes. Then, you should research the field/industry you want to get into. The convincing argument will be the research you performed. It must include pay scales, future growth in the field, how secure are you in the chosen field of work? How easy or difficult it will be to find work in your field, Outline your current experience in the field, and so on. VR will pay for inexperienced people to get a degree in the field of their choice. It might be a good idea to include your interest in the field to give VR a better understanding of your passion for IT.

#25 Thanks. I will do my best

App Developer

Thanks. I will do my best with this. I have a great passion for computers. My end goal is to hopefully work for Apple in California on the accessibility team, or if not that, apply for the genius bar. I troubleshoot my own apple products when things go wrong.

#26 Hi.

App Developer

Hi.
I've decided to use my mac for my computer science degree and install windows on it. Also, did any of you guys have to take several calculus courses to obtain this degree? I've taken algebra but never took calculus. I'm assuming I'd just use the built-in calculator on my iPhone for calculus.