Most of our students have laptops: they're useful for your college career and being able to transport your CS work around with you. However, laptops are not required. The CS labs provide the necessary resources for students to complete work for any of their CS classes.
If you're wondering which laptop is right for you, it's more a question of personal preference than recommended specs. One of the most important considerations is how large/heavy it will be to carry around all day. 13-inch is popular among students and faculty. 15-inch has a nicer display but costs more and is heavier.
Our recommended minimum specs for a laptop: i5/r5 processor, 16gb of ram, 256gb SSD.
Many professors use PC laptops (mostly running Linux Mint) and many professors use MacBook Pros. If you are considering a Mac, know that Apple tends to keep the same prices and upgrade the hardware periodically. Keep an eye on MacRumors to know when to buy. And order via the Apple Store for Education to get the student discount. Or just get yourself a reasonable PC and install Linux Mint as a 2nd OS -- that's what we use in the CS labs.
Also note that Apple has recently switched from Intel chips to Apple-made silicon. Certain software, like VMWare, may not work properly yet with the new hardware. This generally should not be a problem, especially not in any core class, but we have not thoroughly vetted the new hardware with all of our classes yet.
Each professor at JMU holds at least 5 scheduled office hours per week. This means that the professor is available at that time to meet without an appointment. To attend office hours, you simply show up to your professor's office within the scheduled time. It is generally a good idea to get there as early as possible, especially if something is due, because office hours can be quite busy. You should not feel like you are taking the professors time when you attend office hours. Part of the reason faculty members join a teaching school like JMU is that they love working with and advising students. One-on-one interactions during office hours are certainly a part of what makes the job great. If you are not going to office hours then you are missing out on an essential part of JMU.
You can find CS professor office hours on the Faculty Office Hours page. Additionally, the syllabus for each of your courses should list the office hours for that professor. Always check the syllabus before sending an email asking when office hours are.
JMU computer science has a number of active clubs. Some of these run as official university clubs while some are unofficially run in-house in the department. All of our clubs are listed on Clubs page. If you are interested in joining or just finding out more information you can reach out to either the student contact for the club or the faculty advisor for more information. Clubs are a great way to get to know other CS students, deep dive into specific CS topics,, volunteer your CS skills, work to make CS a better and more inclusive field, and much more. All of our clubs take first-years and we encourage you to get involved early.
Registering for classes can often be a stressful time for students, especially when trying to figure out what to take as a freshman going forward. In terms of CS classes, a good place to start would be using the graduation requirements found by downloading the checklist of the year you started at JMU here. Using this checklist, prerequisite tree found here, and the online catalog available (showing when classes are often taught) within MyMadison, it is highly recommended that you make a spreadsheet with each of the semesters you intend to be at JMU, fill it first with your graduation requirements, followed by any interested minors, and lastly electives. Having a preliminary plan of what you are planning to take from start to finish can be a good visual way to alleviate the stress you may have on class registration. Feel free to share this spreadsheet with your advisor for comments as well!
One of our CS-department affiliated clubs, JMU Unix Users Group, has really great resources available so that you get the tools you need, even at home. On jmunixusers.org, you can take advantage of the Linux Mint virtual machines this club compiles preconfigured with software needed for JMU CS courses. For installation instructions, click here. To download the virtual machines directly, click here. A virtual machine is a full operating system that operates within a piece of software, essentially similar to having the operating system you're on now be inside an application. The Linux Mint OS on the provided VMs is the same Linux flavor on our CS lab machines, which will help you get acquainted with a new operating system that you will use a lot during your time at JMU.
Our remote student Linux server, or stu, is more important than ever in these unprecedented times (more information on stu here). While this resource is great, it can be a bit daunting if you're not very familiar with the Linux command line (or using an operating system without a graphical user interface). Trust us when we say you're not alone and there are many resources to learn more about it. A good overview of how to navigate a command line can be found here, which goes through a brief description of each command and how to use it. And, as always, if you have any questions, be sure to ask your professors for help.
We've all been there. “Googling” to the late and early hours of the day for help on that *one* bug you just can't figure out. Again, we've been there. While the vast internet is great, it can be hard to cut through to get the exact consistently valuable resources we can use during these times. One resource that will continue to be useful in your life as a computer scientist is Stack Overflow. A discussion forum “for developers, by developers,” if you're having an issue, odds are so has someone else on this platform. Another, especially for more algorithmic issues, is GeeksforGeeks. Ranging from tutorials to in-depth explanations, GeeksforGeeks is great for getting some more additional background knowledge and extra practice. For hands-on practice, CodeCademy is a great resource with many languages. Lastly, Learn X in Y Minutes is another great condensed guide for almost any language you may use in your programming career and great to hold on to for those future courses where you may need a quick refresher. This is certainly not an exhaustive list, but it is a great place to start!
Our department ambassadors are here to help! Have a specific question? Just want to chat? Be sure to visit here to schedule a video chat with one of our student ambassadors.
In addition to your CS classes, you're probably taking an SCOM, WRTC, and/or MATH class. Don't worry, the university has support for these classes, too! The Learning Centers has trained peer tutors who can work with you one-on-one. This is a FREE SERVICE worth taking advantage of!
If you want help with study skills, time management, or adapting to online learning, schedule a meeting with Learning Strategies Instruction.
Also check out the Libraries extensive list of support for students adapting to online learning.
Not sure where to even start? Schedule a meeting with the CS Advisor, Paige Normand: you can talk through your situation and she can help point you in the right direction.