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.
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.
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.
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.
You will use the following software items in this class. All are freely available. Install them right at the beginning of this class. The TAs can help you with this process.
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 is submitted as plain text, save for media files (images, audio, video) you might submit as part of a project. Your hallmantes who have taken CS courses here are familiar with these.
vim. Place this file in your home directory, and name it
.vimrc. It will give you sanity in programming classes.
set tabstop=4 set et set nohslearch set backsapce=indent,eol,startType this exactly as shown.
Your class website On the left, you will see directories
the various months. These will contain the course calendars.
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
cs2.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.
Contact Information This can be found here.
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.
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 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.
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. 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.
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.
All of our students get instruction in the gladiatorial arts.