Organizational Note This page contains information that is of importance to all of my classes. Everything here pertains to all of my students.
To find out about individual courses, you should look in the course pages linked here. This trimester I have three courses in blocks B, C and F. Your class website can be found here.
Useful Documents and Pages
My schedule has been updated. You can view it in technicolor here.
All items in my courses will have a point value; this will be specified in each course's specs page. To compute your grade, divide points earned by points possible. Your grade has two components, a letter and a modifier. Compute it as a percentage, then round to the nearest integer. Lab practical grades will be converted to a numerical score according to this rule.
Compute Letter Grade
Compute Modifier Only letter grades A, B or C have a modifier.
Canvas will be programmed to give you the percentage.
Here are this year's CS TAs. They can help you with a wide array of issues, including getting your lappy ready for this class. During the first week of class we will determine the TA schedule.
Tutorials are in the Library Mezzanine. They begin with the second week of class. A schedule will appear in the table below.
Install Party Sat, 3:00 - 4:30, Woolworth Room
They are required reading. The file sternLecture.php will discuss organizing your file system. Do it. In exchange for a little work up front, you will be spared a great deal of agita later. The file googleCalendar.php will show you how to access your Google Calendar and how to set up appointments with other NCSSM community members.
For your convenience, all scheduling annoyances, deadlines, and other important dates here that apply to all classes. The modified schedules will be shown just after this list when they become available just before the school year starts; scroll down to see them.
Altered Schedules All altered schedules for T3 are posted in tables here. These timetables will be announced just prior to the start of the school year.
|Thursday, August 15|
|D Block||8:00 - 8:50|
|C Block||8:55 - 9:45|
|A Block||9:50 - 10:40|
|B Block*||10:45 - 11:55|
|Lunch / Meeting||11:55 - 1:35|
|F Block||1:35 - 2:25|
|G Block||2:30 - 3:20|
|E Block||3:25 - 4:15|
|*contains tornado drill|
|Friday, August 16|
|A Block||8:00 - 8:50|
|B Block||8:55 - 9:45|
|C Block||9:50 - 10:40|
|D Block*||10:45 - 11:55|
|Lunch / Meeting||11:55 - 1:35|
|G Block||1:35 - 2:25|
|F Block||2:30 - 3:20|
|E Block||3:25 - 4:15|
|*contains lockdown drill|
|Mon 8/30 NASA Event Altered Schedule|
|A Block||8:30 - 9:05|
|B Block||9:10 - 9:45|
|EVENT||10:00 - 12:00|
|Lunch||12:00 - 12:50|
|C Block||12:50 - 1:25|
|D Block||1:30 - 2:05|
|E Block||2:10 - 2:45|
|F Block||2:50 - 3:25|
|G Block||3:30 - 4:05|
|College Day - September 13|
|A Block||8:00 - 8:40|
|B Block||8:45 - 9:25|
|C Block||9:30 - 10:10|
|D Block||10:15 - 10:55|
|D Lab||10:55 - 11:45|
|Lunch||11:45 - 12:20|
|G Lab||12:20 - 1:10|
|G Block||1:10 - 1:50|
|F Block||1:55 - 2:35|
|E Block||2:40 - 3:20|
|PSAT Day - October 16|
|PSAT||8:00 - 12:00|
|Lunch||12:00 - 12:50|
|A Block||12:50 - 1:15|
|B Block||1:20 - 1:45|
|C Block||1:50 - 2:15|
|D Block||2:20 - 2:45|
|E Block||2:50 - 3:15|
|F Block||3:20 - 3:45|
|G Block||3:50 - 4:15|
Half-Day Schedule Algorithmically, the day begins at 8A, all blocks meet in alphabetical order, each class is 30 min, and there is a 5 min passing time. Days marked "Half-day schedule" follow this pattern.
|Half Day Schedule|
|A Block||8:00 - 8:30|
|B Block||8:35 - 9:05|
|C Block||9:10 - 9:40|
|D Block||9:45 - 10:15|
|E Block||10:20 - 10:50|
|F Block||10:55 - 11:25|
|G Block||11:30 - 12:00|
Contact Information This can be found here. You can send text messages to my campus phone number; it is VOIP and works pretty much like a mobile phone.
My Google Calendar Use this to schedule appointments.
Quick HowTo Do the following to access your own personal Google Calendar and to schedule an appointment with me or any other school staff member.
Meet with...is a box labeled "Search for People." Enter my name in it.
Class Structure CS classes are at once lecture and lab. It will have a big "dirty hands" component. You will learn about coding constructs and algorithms. When we run across these, we will work with examples and do calculations or write code. Here is what to bring to class.
notebooklink and find out. My experience reveals that this works very well for my students. Sometimes, we will put our computers at "third mast" so we focus on class discussion that does not require a computer.
The quality of my classes depends on you. What makes class fun and interesting is your involvement. When you find something mysterious or I am going too fast (I do this....) speak up! There is only one dumb question: it is the question you walk out that door wishing you had asked. The eternal battle in our classes is that against saysquattery. What's that? A saysquat is a student who sits in class and who never says squat.
There will be in-class activities that you will do to gain an active command of the material. You will sit in a "pod" with classmates and can share ideas with them when doing these daily assignments. Pod assignments will be made the first day of class; they will be shown on your course's main page. Pods will be assigned via some sort of randomized procedure such as picking names out of a cup.
When we do code examples, you will often see me asking you for your input. If you have an idea and are unsure, share it. This often kicks off a productive discussion. It gets your classmates thinking, and it gets them to chip in ideas.
I respond very quickly to your input. It is not unusual for a student question at the beginning of a class to cause me to drop my original plan and to do something entirely different that addresses that question. Your input and contributions really drive this class. I do not keep static course notes. I do things in real time.
If I am moving too fast, do not be afraid to ask me to slow down and to spend more time on a puzzling topic. Remember: This class is your class. Be a good stakeholder and citizen in it.
The Textbook I am the author of these live documents. I will give you a link to it in class. It has been developed specifically for this class, and is devoid of the usual lard you will see in school textbooks. The reading will help you understand what is happening in class. It contains a fair amount of entertaining snark.
If you see things that are baffling or you see a typo, let me know. I can edit the manuscript and upload a corrected version. It is formatted in PDF format, which can be read on on all platforms. I produce new examples each time I teach this class. You will see examples in the book that are different: look at these and you will have a broader context as we move along.
I strive for economy of thought. You will see lots of code examples. Copy these, paste them into a code window, and run them. You can modify them and experiment with them to test your knowledge and to do explorations. You will not see a lot of the asides and "boxes" that plague committee-written textbooks. I try to take a clear path through the material.
Are there extracurricular learning opportunities? Join the Computer Science club. You will make lots of friends who are interested in computer science and in programming competitions.
Is there a Linux culture in the land of the Unicorn? You bet. The most popular distro is Ubuntu, but you will find people running Arch Linux, Linux Mint, Fedora, and other distros. You can download and experiment with these. The halls of NCSSM abound with Linux fanatics.
Is there a uniform Linux environment for NCSSM students?
Any NCSSM student can request an account on student computing server,
cs2.ncssm.edu . If you are enrolled in an NCSSM CS course, your
first homework will be to obtain and enable an account on this server. By
using the server, you consent to its storage and netiquette policies. These
are posted here.
What's important at NCSSM? Some fools will tell you "Chemistry!", "Math!", "Bio!", "Physics!" All will be wrong. Dead wrong. No, not "Literature", not "History." Forget these. What magic do we make? It is the magic of creating the new. Those fields mentioned above? Yes, they are important playgrounds. But creation is all. Take some time and watch some of these things. They will add to your life.
Sam Wu, NCSSM '09, UNC '11, UNC School of Medicine '15 gains knowledge of Java by giant-hammer blows. Note his successful trip through medical school, and his match as Dermatology resident at Eastern Virginia Medical School. He is now with the UNC Medical School.
All of our students get instruction in the gladiatorial arts.
Occasionally, battles can get lethal. Emma Zhang '19 is about to meet her demise at the hands of the hammer ninja Tova Just '19.