David H. Brown
Lecturer (Computer Science)
This personal Web page is not an official University of Rhode Island Web page. See disclaimer.
Contact:
URI email: david_h_brown@uri.edu
Phone: 401-874-4223
LinkedIn: david-brown-b3946a10 -- look for the matching picture
I will gladly accept connection requests from my students but will not initiate them. I don't endorse skills; it would be impossible to do so consistently for all my students.
Office
Located in Tyler 129 -- middle floor, second door down the corridor near the west stairwell.
Office Hours
Office hours are now managed through URI's Starfish system. If you are my advisee or in a course I teach (or taught recently), you should be able to see my current schedule and/or request an appointment.
Monday | Tuesday | Wednesday | Thursday | Friday | |
---|---|---|---|---|---|
By appointment | 4:00-5:15 | 12:30-1:30 | 12:15-12:45 | 3:30-4:30 | 1:15-2:45 |
Walk-in | 10:20-11:40 | 3:30-4:30 | 2:15-4:15 | 12:30-1:30 |
Appointments can be made in Starfish until 6PM the previous day. You can select the default 15-minute timeslot or extend that to 30 minutes. Walk-in times, just come... I will make every effort to be there.
I can be available some other times too and enjoy working with you one-on-one. If these times don't work for you (or if Starfish gives you trouble), please don't hesitate to call or email and we'll figure something out!
Courses
Notice to all students: Because of my temporary status💬, I cannot assign grades of "Incomplete" except in cases of real emergency, in which case it must be approved by the department chairperson and the Dean.
Current official course descriptions are online at www.uri.edu/catalog.
COM 271 / CSC 271- Web Design and Programming
Offered in the Fall. The client side of web development. HTML and CSS with a bit of JavaScript and fundamental design principles. A few small examples I use in the course are here, too.
COM 372 / CSC 372 - Dynamic Web Design and Programming
Offered in the Spring. The server side of web development. Please go to my COM 372 page for more information, particularly if you’d like to enroll by permission of instructor.
CSC 301 - Fundamentals of Programming Languages
Offered in the Fall (taught by Professor Hamel), the Spring, and online in the Summer.
Why you should NOT take CSC 301 in the summer
This is a challenging course made more challenging by taking it online. You need to be well prepared in your CSC background and self-motivated to succeed. Without the regular structure of class meetings, lectures, and labs, you will be relying on yourself more than usual to master the course content. The course site does contain slides for all lectures and some videos for particularly tricky bits. While I am willing to make office appointments (or use Skype) during the summer, it's a challenge to find times that work.
- Greater rate of D/F/W (drop) vs. face-to-face course
- Seems to be especially challenging for students with less than a B in CSC 212
- Labs are on-your-own without TAs (forums are available)
- Having the exams open-book doesn't seem to make them any easier.
If you want to accelerate the pace of the curriculum a little, you have done great in your earlier CSC courses, and you like reading technical content, then taking CSC 305 online in the summer is probably a good fit.
CSC 305 - Software Engineering
Offered in the Fall, Spring, and Summer. Summer sometimes is canceled because of low enrollment... it is a face-to-face class scheduled for all 10 Wednesdays of the Summer 3 session, roughly 8am to 3pm.
- Here's a simulation of the bicycle headlight I use to help teach UML State Machine Diagrams
CSC 499 - Internship
Information about the CSC 499 Project in Computer Science course in general can be found here. To receive a permission number for the internship section I facilitate, you must first submit an approved project proposal
- Project proposal form (optional but will probably save us both some time)
- CSC 499 Syllabus (PDF)
These apply only to my section of CSC 499; speak to other faculty about their requirements and expectations if enrolling with them.
Sakai
I use Sakai extensively in each of the courses I teach. Please be sure you receive and read messages and announcements sent through that system.
Previous Courses
- CSC 212 - Data Structures and Abstractions (Spring 2013)
- CSC 201 - Introduction to Computer Programming (Spring 2013)
- CSC 592 - Programming for Scientists (Fall 2012)
Other URI things
URI Laser Scarecrow
Main link: URI Laser Scarecrow (Google site).
About me
Capsule summary: music → electronic music → music typesetting → desktop publishing → web publishing → web programming → MS at URI to fill in all the gaps you get from teaching yourself → URI asked me to come back and teach a few courses which became a few more...
I've been doing a fair amount of programming for small, embedded microcontrollers such as Arduino and NodeMCU. Hope to teach myself something about FPGA one of these days, but I'm not sure I have any projects for which that would be relevant. Even further in the hardware direction, I've gotten fairly decent at designing parts for 3D printing and managed to design a functioning printed circuit board.
I enjoy riding my bicycle to campus (in any weather except if the roads are icy, in which case classes are probably canceled anyway).
When I have a little bit of spare time, I enjoy playing pinball simulations and if I have a bit more spare time, I'll slowly work through first-person adventure games (e.g., Tomb Raider, Witcher, Skyrim sort of thing)... usually on easy settings.
Education
MS Computer Science
- University of Rhode Island, Kingston, Rhode Island USA
- R. Choudary Hanumara Graduate Award for excellence in M.S. Thesis Research in Computer Science
- Cartogram Data Projection for Self-Organizing Maps, David H. Brown and Lutz Hamel. Proceeding of the 2012 International Conference on Data Mining (DMIN'12), pp91-97, July 16-19, 2012, Las Vegas Nevada, USA.
BA (Music)
- Saint Olaf College, Northfield, Minnesota USA
- Cum Laude