Ben Steele Headshot

Ben Steele

Senior Lecturer
Department of Computer Science
Golisano College of Computing and Information Sciences

585-475-7923
Office Hours
See http://www.cs.rit.edu/~bks/
Office Location
Office Mailing Address
GOL-3535

Ben Steele

Senior Lecturer
Department of Computer Science
Golisano College of Computing and Information Sciences

Education

BA, Wesleyan University; MS, Rochester Institute of Technology

Bio

Ben Steele is a Senior Lecturer in the Computer Science Department at the Rochester Institute of Technology. He has a M.S. in Computer Science from Rochester Institute of Technology and a B.A. in Classical Civilization from Wesleyan University.

He worked for over 20 years in industry developing manufacturing image capture, measurement and analysis systems, embedded subsystems and diagnostics for printers and power systems.  He joined the department in 2005.

His current interests are in software patterns and architecture, program design, programming languages and computing education.


 

See http://www.cs.rit.edu/~bks/

585-475-7923

Personal Links

Currently Teaching

CSCI-141
4 Credits
This course serves as an introduction to computational thinking using a problem-centered approach. Specific topics covered include: expression of algorithms in pseudo code and a programming language; functional and imperative programming techniques; control structures; problem solving using recursion; basic searching and sorting; elementary data structures such as lists, trees, and graphs; and correctness, testing and debugging. Assignments (both in class and for homework) requiring a pseudo code solution and an implementation are an integral part of the course. An end-of-term project is also required.
CSCI-243
3 Credits
Students will be introduced to the details of program structure and the mechanics of execution as well as supportive operating system features. Security and performance issues in program design will be discussed. The program translation process will be examined. Programming assignments will be required.
CSCI-251
3 Credits
This course is an introduction to the organization and programming of systems comprising multiple computers. Topics include the organization of multi-core computers, parallel computer clusters, computing grids, client-server systems, and peer-to-peer systems; computer networks and network protocols; network security; multi-threaded programming; and network programming. Programming projects will be required.
CSCI-142
4 Credits
This course delves further into problem solving by continuing the discussion of data structure use and design, but now from an object-oriented perspective. Key topics include more information on tree and graph structures, nested data structures, objects, classes, inheritance, interfaces, object-oriented collection class libraries for abstract data types (e.g. stacks, queues, maps, and trees), and static vs. dynamic data types. Concepts of object-oriented design are a large part of the course. Software qualities related to object orientation, namely cohesion, minimal coupling, modifiability, and extensibility, are all introduced in this course, as well as a few elementary object-oriented design patterns. Input and output streams, graphical user interfaces, and exception handling are covered. Students will also be introduced to a modern integrated software development environment (IDE). Programming projects will be required.
CSCI-471
3 Credits
This course focuses on developing and improving verbal and written communication skills specific to the discipline of computer science. Topics include the different forms of writing in computer science (books, theses, journal articles, technical reports, manuscripts, etc.), writing styles of computer scientists, document readability and usability, documents for career readiness, effective presentations, teamwork and peer review, research methods, experimentation, documenting mathematics and algorithms, proper formatting of graphs, figures, and tables, and ethical, social, and professional issues facing Computer Scientists. This course is approved as Writing Intensive.