Morrison's 1819T1 Classes

My Schedule

This trimester I have three sections of CSC 352, Web Development. These occur in blocks B, C, and F.

My schedule can be viewed in technicolor here.

Computer Science TAs

There are four CS TAs this year. They can help you with a wide array of issues, including getting your lappy ready for this class.

picture of bishop19j

Jefferson Bishop

picture of cini19a

Alex Cini

picture of houk19m

Matthew Houk

picture of kellar19n

Noah Kellar

Tutorials are in the Library Mezzanine. They begin with the second week of class.

DayTAsTimes
SundayMatthew and Jefferson8-9:30P
MondayAlex and Noah8-9:30P
TuedayAlex and Noah8-9:30P
WednesdayMatthew and Jefferson8-9:30P

Important Dates for All Classes

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; scroll down to see them.

Both extendeds occur on Mondays, so it appears there will be no lab day schedules this trimester.

Altered Schedules All altered schedules for T1 are posted in this table. College Day on 14 September has a college fair after its shortened schedule. That takes places in the PEC.

Altered Schedules, T1, 2018-2019
Thursday, August 16Friday, August 17College Day - September 14
D Block 8:00 - 8:50A Block 8:00 - 8:50A Block 8:00 - 8:40
C Block 8:55 - 9:45B Block 8:55 - 9:45B Block 8:45 - 9:25
A Block 9:50 - 10:40C Block 9:50 - 10:40C Block 9:30 - 10:10
B Block* 10:45 - 11:55D Block* 10:45 - 11:55D Block 10:15 - 10:55
Lunch/Meeting 11:55 - 1:35Lunch/Meeting11:55 - 1:35D Lab 10:55 - 11:45
F Block 1:35 - 2:25G Block 1:35 - 2:25Lunch 11:45 - 12:20
G Block 2:30 - 3:20F Block 2:30 - 3:20G Lab 12:20 - 1:10
E Block 3:25 - 4:15E Block 3:25 - 4:15G Block 1:10 - 1:50
*contains tornado drill*contains lockdown drillF Block 1:55 - 2:35
E Block 2:40 - 3:20

College Week Timetable Here is a PDF of the timetable.

Early Release 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.

Early Release Schedule October 22
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

Course Prerequisites

Really.... none. Point-and-click proficiency with a modern computer is nice, but this can be learned quickly if you are unfamiliar with it. Be able to open files, save files, and to use a web browser. Everything else you will learn in here from scratch. Good critical reading ability also helps. If you already know how to program, you should be in CSC424. If you are a programmer and want to learn how to make web apps, this is a great place. Please be a good citizen in this class and be helpful to your classmates.

Get your Lappy Ready

If you are enrolled in this class, you got an email telling you of the existence of this page. You will use the following software items in this class. All are freely available. You have an opportunity ot install them before class starts so you are ready on day 1. The TAs can help you with this process. We might hold an "install party" during orientation.

You will need a plain text editor. Several choices are available; pick the one you like the best. You will not want or need a word processor in this class. All work in this class must be submitted as plain text, save for media files (images, audio, video) you might submit as part of a project. Your hallmates who have taken CS courses here are familiar with these.

Class Materials

Your class website On the left, you will see directories the various months. These will contain the course calendars. The file basicStuff.php linked at the left will answer your most basic questions about this class.

The specs directory will contain specifications for all major projects.

The pages contains some sample web apps which you will find useful in this class. Take some time to check them out.

Materials may also be present on our internal server cs.ncssm.edu. You will get an account on this server and you will learn how to interact with its command-line interface. You will be asked to post certain assignments and projects there.

This course will be on canvas as well. Canvas will be used for reading quizzes, and it provides a portal for you to upload programming assignments. All grades are entered into the canvas gradebook.

Communication

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.

Class Structure This class is 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.

The quality of this class depends on you. What makes this class fun and interesting is your involvement. When you find something mysterious 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 here.

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 this live document. 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.

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.

Course Syllabus This page, along with the Specs Page, which contains complete information about grading and assignments, constitute the official course syllabus. Reading assignments and daily assignments will be in the course calendars; these are listed in the directories with month names at the left. We do use canvas and all grades will be maintained in the Canvas gradebook. Canvas will be programmed to compute grades according to the scheme outlined on the specs page. You should use your Google calendar to keep track of upcoming due dates for this and all of your other classes.

Working Offline The Working Offline page has directions. Make sure you prepare your computer as instructed above.

Web Apps pages, linked at the left, contains some useful web apps for this class. You are encouraged to look at them; by the end of this term you will know how to write something like these. One is a base converter which will be useful to you when we study the representations of numbers early in the term.

Some FAQ for CS at NCSSM

What if I've never programmed before? You are in the right place, CSC 352, Web Development. The web development course is particularly suited to students who have never programmed before. You learn basic ideas about computers, how to navigate in UNIX, HTML5/CSS3, and then JavaScript. You will learn about delimitation, debugging, and the fundamental ideas of programming. All of this is done from complete scratch.

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.

  1. Chuck Jones, on Geting Started
  2. Chuck Amuck. Prepare to laugh. Also absorb a serious message. He was a singular creative genius.
  3. Randy Pausch, The Last Lecture. Yes. he does die. "It is what it is; we cannot change the cards we are dealt."
  4. Picasso, on creativity, ohne wörter
  5. Ferdinand, who understands what is important.
  6. Learn about Tex Avery!
  7. The act of creation: Rachmanivov[2] concerto

Modern Teaching Technique

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.

sam gets it

All of our students get instruction in the gladiatorial arts.

gladiatorial instruction