Computer Science Resources

Advising Resources

"Academic advising is an educational process that, by intention and design, facilitates students' understanding of the meaning and purpose of higher education and fosters their intellectual and personal development toward academic success and lifelong learning." (NACADA, 2004).

The Golisano Advising Team is committed to the success of all students within the college. In tandem with the Institute Advising Office, we utilize a student-centered approach that enriches learning and facilitates student development in preparation for success within a diverse, global society. Academic advisors empower students to make decisions that enhance their educational, personal, and professional growth and development. Through consistent interactions, advisors build strong relationships with students. We believe academic advising is driven by students. Academic advisors guide students on how to navigate through the overall college experience.

Your advisor should be your first point of contact for assistance and advising. An academic advisor has been assigned to you based on the first letter of your last name.  Please be sure to view your current advisor assignment via the RIT Student Information System (SIS).

To schedule an appointment, please call the Computer Science Student Services Office or stop by our office in GOL-3005. We do not do same day appointments, so please plan accordingly. Appointments are typically held between 9am-4pm. Advisors are also available via email to answer questions. Advisors use your RIT email account as the primary means of contacting students. If you use another email, you should forward all your RIT mail to the account you check regularly.

Advising appointments may be necessary to discuss the following:

Schedule Changes and Planning
Curriculum Worksheet Questions
Change of Program Out of CS
Course Withdrawal
Concerns with a Course
Co-op
Full-time Equivalency
I-20 Extension
Reduced Course Load
CS Minor
Non-CS Minor Declaration
Double Majors
Graduate Scholarship
Project/Thesis
Non-majors Interested in CS

 

Undergraduate Students with Last Names A-Ch Graduate Students with Last Names A - J

Undergraduate Students with Last Names Ci - K

Mina Pulcini headshot
Senior Academic Advisor
Advising
Golisano College of Computing and Information Sciences
585-475-4598

Undergraduate Students with Last Names L - Sh

Undergraduate Students with Last Names Sh - Z

Graduate Students with Last Names K - Z

Academic Advisor Responsibilities - What you can expect of us:

  • Be knowledgeable about and effectively communicate the curriculum, graduation requirements, and University/department policies and procedures.
  • Guide you in defining and developing clear and realistic educational goals, while encouraging you to take responsibility for your education plans, decisions and achievements.
  • Be accessible to answer your questions through in-person, electronic, and phone appointments.
  • Offer a safe environment for you to ask questions and express concerns where your individual values and choices are respected.
  • Evaluate your progress towards degree completion and communicate any concerns.
  • Collaborate with you to create an appropriate response or recovery plan to address obstacles you may encounter as you progress toward degree completion.
  • Provide you with information about and strategies for utilizing the available resources and services on and off campus.

Advisee Responsibilities- What we expect of you:

  • Become knowledgeable about your degree requirements and University/department policies and procedures.
  • Accept responsibility for your decisions, your actions, and/or your inactions that affect your educational progress and goals.
  • Meet regularly with your advisor during your RIT career, especially if issues or challenges arise.
  • Plan ahead and come prepared to office hours and advising meetings with questions or issues for discussion.
  • Define and clarify personal values and goals and provide advisor with accurate information regarding your interests and abilities.
  • Be honest, open, and willing to receive and act upon recommendations from faculty and advisors.
  • Keep a personal record of your progress towards meeting your goals.
  • Be an active learner by participating fully in the advising experience and being proactive rather than reactive to obstacles you may encounter. Explore and utilize campus and community resources.
  • Make a good faith effort to look for answers to your questions prior to asking for assistance.
  • Demonstrate academic integrity and ethical behavior at all times.

Communication with Family and Others: 

In compliance with the Family Educational Rights and Privacy Act of 1974 (FERPA), your parents and other third parties do not have access to your records, and your advisor will not discuss details of your records without your written permission.  For this reason, your advisor will refer others to communicate directly with you concerning academic issues.  You should assume responsibility for your education and any transactions with the University. For more information regarding FERPA regulations, please visit the following link: https://www.rit.edu/fa/legalaffairs/content/frequently-asked-questions

RIT Resilience

Success in this program depends heavily on your personal health and wellbeing. Recognize that stress is an expected part of the college experience, and it often can be compounded by unexpected setbacks or life changes outside the classroom. Your instructors and advisors strongly encourage you to reframe challenges as an unavoidable pathway to success. Reflect on your role in taking care of yourself throughout the term, before the demands of exams and projects reach their peak. Please feel free to reach out about any difficulty you may be having that may impact your performance in your courses or campus life as soon as it occurs and before it becomes too overwhelming. In addition to your academic advisor, you are strongly encouraged to contact the many other support services on campus that stand ready to assist you.

Assistance with Issues Involving Disabilities:

Rochester Institute of Technology is dedicated to providing equal opportunity and access for every student.  It is important that if you believe you need accommodations for a learning or physical disability that you make us aware of your needs.  In some cases, we may refer you to the Disability Services Office, The Academic Support Center or other student support services.  These offices provide a broad range of support services in an effort to ensure that the needs of each student are met.  Through active involvement with all areas of the University, these offices are able to monitor conditions relevant to students with disabilities and provide help with decisions affecting their quality of life.

The Department of Computer Science evaluates transfer credit for prospective and current Computer Science students. Current students thinking about taking courses at another college or university should speak with their academic advisor. It may be necessary to fill out the Transfer Credit Articulation Request located on the Registrar's website to ensure the course transfers in as expected. A link to the form can be found here.

The Department of Computer Science evaluates and awards Advanced Placement (AP®) credit as well.  Please refer to the following link for our most up to date AP Awards Chart.

AP Awards for Computer Science Majors

You may have some questions about RIT policies, the Computer Science curriculum, and other academic topics. We have put together information for students to help clarify these questions. If you can’t find the information you are looking for, feel free to contact us at advising@cs.rit.edu and we’ll be happy to help.

What do I do if I am having trouble with classes?

There are many resources available for you to help you succeed. The CS student/tutoring center is located in Golisano Hall, room 3670 and offers free tutoring services for students taking introductory CS classes or who may need help with some of our theory courses.  In addition, there are many other types of tutoring offered to students (many free of charge!) across campus.  You can find more information about these services at Tutoring @ RIT . Your son/daughter can also meet with their CS assigned academic advisor to talk about their academics.

What is FERPA and how does it affect me?

FERPA stands for “The Family Educational Rights and Privacy Act”. FERPA protects the privacy of students above the age of 18. Under FERPA, any school that receives federal aid (RIT does receive aid) must keep personal information including grades private. The CS Department cannot disclose any personal information to you without the consent of your son/daughter.

What can be done if I failed a course?

An undergraduate student may repeat a course to raise a grade. If a student repeats a course, the last grade will stand as final. Courses taken at other institutions may not be considered as repeats. Credit earned by examination/experience may not be used to repeat previous course work. It is important to note that both grades will appear on his/her transcript, but only the last grade will be used to calculate his/her GPA.  Students should consult with their assigned academic advisor to come up with a recovery plan.

What happens if I dropped or withdrew from a class?

During the first 7 days of the term you can Add or Drop a class without penalty. After this time, you can no longer drop the class but must withdraw. A grade of “W” will be assigned to the student’s record if the student withdraws. A grade of “W” does not affect a student’s GPA.  Students considering withdrawing from a course should consult with their assigned academic advisor.

Who can I speak to if I am thinking of changing majors?

Your first need to speak to your assigned academic advisor in the CS department. Then your advisor can give you further instructions at that time.

What can be done if I want to dispute a grade?

You should first speak with your instructor in order to gain an understanding of the grade. If no resolution is made during that time you can set up a time to meet with the CS Department Associate Chairperson. To set up a meeting, call 585-475-2995 or stop by the CS Student Services office (GOL-3005). If no resolution is made you can refer to Policy D17.0.Final Course Grade Disputes.

What can I do with a degree in Computer Science?

Students who earn a degree in Computer Science develop many valuable skills and depending on their interests and experiences, can market themselves to work in many different types of industry. Remember that Computer Science is all about inventing and problem solving. A good way to think about computer scientists is that they develop the brains that actually run the computer programs people use. For example, when you search for a book online and you find the book you want and the website also tells you about similar books you might enjoy, computer scientists were the people who developed the brains for that website that give you those other recommendations based on your interests. This is just one example of the countless inventions that computer scientists develop every day.

What companies have previous students worked for during a Co-op?

Some examples are Google, Facebook, Amazon, Apple, Citigroup, Harris Corp., BAE Systems, Excellus Blue Cross Blue Shield, Computer Associates, IBM, Intel, Intuit, Mozilla, MOOG Inc., Oracle, Microsoft, Infimed Inc, National Security Agency, Paetec Communications Inc, Paychex, RightNow Technologies Inc, Thomson Reuters, Veramark Technologies Inc, Vicor Corp, and Xerox.  There are also many others.

What types of activities can I partake in at RIT?

RIT has over 150 clubs and organizations available for students to join. We also have a variety of intramural sports happening throughout the year. One of the most interesting things that students enjoy is the Special Interest Housing. The Computer Science House is a community made up of CS and non-CS students who are interested in computer science. They live together on the 3rd floor of Nathanial Rochester Hall and learn about computing first hand. They have their own network, student modified vending machine, lounge, conference room, software center, and work on a variety of projects throughout the year. More information about the Computer Science House.

What is done by RIT to ensure that I succeed?

It is ultimately up to you to succeed. The CS department is happy to meet with any student to go over his/her academics. Faculty are encouraged to take part in the “Academic Alert” program which lets the academic advisors know when students are having trouble in class.

Why am I on academic probation and what are the policies?

All students must maintain a C (2.0 GPA) average in order to stay in good standing. If your son/daughter falls below a 2.0, but above a 1.0, for a term or if his/her cumulative GPA falls below a 2.0, but above a 1.0, they are put on academic probation. Any student who is on probation for 3 terms in a row is suspended from RIT for one year.  If your son/daughter falls below a 1.0 for a term or with his/her cumulative GPA, they will be placed on academic suspension.  Please refer to Policy D05.1 Academic Actions and Recognitions.

Undergraduate Resources

The B.S. degree in Computer Science is accredited by the Computing Accreditation Commission of ABET, http://www.abet.org. The program provides students with both a broad and deep foundation in theory and modern software and hardware concepts as well as introduces students to numerous programming languages and paradigms. Students have an opportunity to engage in significant programming and software development work (it’s not unreasonable to think of Computer Scientists as technology inventors), but we also offer students more and more opportunities to engage in both traditional and applied research. In addition to required Computer Science courses, students have an opportunity to take Computer Science electives in areas such as: architecture and operating systems; computer graphics and visualization; data management; distributed systems; intelligent systems; languages and tools; security; and theory.

Employers not only look for students who have strong technical skills, but who also understand mathematics, science, and the importance of effective communication. The BS program provides students with a solid foundation in mathematics, science, liberal arts and an opportunity to take outside electives, complimenting the strong technical core that the program offers.

The demands of industry and government require college graduates to master both the fundamentals, and the applied aspects of their profession. To meet this requirement, two applied educational experiences are woven into the program. Students are required to complete a cooperative educational experience as well as an extensive set of laboratory experiences, many as members of a team. These experiences not only strengthen a student's technical skills, but gives them the ability to communicate clearly and work effectively as part of a team.

The career outlook for computer science graduates is strong. The combination of our strong technical preparation and co-op experiences, give our graduates a leg up in industry, allowing them to join virtually any career field as a computing professional. Not only do our graduates enter the profession with more extensive skills and background than typical entry-level hires, but they can often leverage this to more rapidly advance their careers.

Outcomes and Objectives

The B.S. degree in Computer Science is accredited by the Computing Accreditation Commission of ABET, http://www.abet.org

Program Educational Objectives
Our program educational objectives are broad statements that describe what graduates are expected to attain within a few years of graduation. They will be able to:

  • Pursue advanced study in computing or participate in modern software development.
  • Collaborate Successfully with colleagues and clients.
  • Work as ethical and responsible members of the computing profession and society.

Student Outcomes
To allow our BS graduates to meet our long-term program educational objectives, the department has developed seven student outcomes, which are narrower statements used to describe what our students are expected to know and be able to do by graduation. Students graduating from our B.S. program are able to:

  1. Apply the theory and principles of computer science.
  2. Demonstrate fluency in high-level programming languages, environments, and tools for computing.
  3. Demonstrate knowledge of the principles of computer organization, operating systems, and networks.
  4. Apply computing skills and work effectively in teams in industry or research.
  5. Demonstrate advanced knowledge of a selected area within the computer science discipline.
  6. Prepare technical documents and make effective oral presentations.
  7. Comprehend and analyze both legal and ethical issues involving the use of computing in society.


Enrollment and Certifications

B.S. Program Enrollment (Fall enrollments - total headcount)

  • Fall 2012– 703
  • Fall 2013 – 712
  • Fall 2014  – 740
  • Fall 2015  –  800
  • Fall 2016  – 826
  • Fall 2017  – 866

B.S. Degree Certification

  • 2012-2013  – 135
  • 2013-2014  –  116
  • 2014-2015  –  101
  • 2015-2016  – 104
  • 2016-2017  – 124

GOALS AND BASIC REQUIREMENTS

Students have an opportunity to complete a minor in Computer Science that provides a secondary area of expertise in support of their major.  The minor may be tailored to go deeply into programming or sample selected theoretical or applied areas within Computer Science.  At least two of the four electives chosen must have course numbers of 300 or higher.  Students may choose electives from undergraduate or graduate level Computer Science courses for which they have the appropriate prerequisites.  The minor in Computer Science consists of at least 15 semester hours; all course counting toward this minor must be taken from Computer Science at RIT.  At least 9 semester hours must be from CS courses not required by a student’s home department.  To earn this minor, students must obtain a minimum GPA of 2.00 in the minor courses.  Credits earned from other sources (e.g., AP or courses taken elsewhere) do not apply to this minor, but may serve to satisfy prerequisites.

PREREQUISITES

The minor advisor evaluates other courses to determine if prerequisites have been satisfied.

CSCI 141 (Computer Science I) and CSCI 142 (Computer Science II) or other equivalent two-course introductory programming sequences

MATH 181 (Project-Based Calculus I) and MATH 182 (Project-Based Calculus II) or other equivalent two-course Calculus sequences

MATH 190 (Discrete Mathematics for Computing) or other equivalent Discrete Mathematics courses

  1. The following course sequences are automatically accepted in place of CSCI 141/142: (a) ISTE 120/121, (b) IGME 105/106, (c) CPET 121/321.
  2. The following course sequences are automatically accepted in place of MATH 181/182: (a) MATH 171/172/173, (b) MATH 181A/182A.
  3. The following courses are automatically accepted in place of MATH 190: (a) MATH 200, (b) MATH 131.

WARNING

Although we accept alternative programming sequences as acceptable prerequisites, they may not provide background equivalent to CSCI 141 and CSCI 142.  Students who might be interested in more theoretical Computer Science courses or who might consider a double major involving Computer Science should only take MATH 190 or MATH 200 for discrete mathematics and should only take CSCI 141 and CSCI 142 for their introductory programming sequence.

REQUIRED COURSE

CSCI 243 (The Mechanics of Programming)

ELECTIVES/EXCLUSIONS

Choose four undergraduate or graduate level Computer Science courses (in some cases, a graduate level course should not be selected if you have had a similar undergraduate course). 

PLEASE NOTE: Students pursuing a minor in Computer Science are not guaranteed seats in Computer Science courses.  Most courses are initially restricted to Computer Science majors only and then are opened to other majors.  We do our best to accommodate students into our courses.  Given the demand for introductory Computer Science courses, we do not officially declare students for the minor until they have completed CSCI 243.

Computer Science Electives to Complete a CS Minor: 

Please review the elective course information sheet located here: https://www.cs.rit.edu/csdocs/CS%20Minor/ComputerScienceMinorScenarios.pdf

The following courses may not be used for the minor:

CMPR 271 Computational Problem Solving for Engineers

CSCI 101 Principles of Computing

CSCI 471 Professional Communications

CSCI 488 CS Undergraduate Summer Co-op

CSCI 499 CS Undergraduate Semester Co-op

CSCI 571 Honors Capstone Research

CSCI 603 Computational Problem Solving

CSCI 605 Advanced Object-Oriented Programming Concepts

CSCI 686 Graduate Professional Seminar

CSCI 687 Graduate Research Seminar

CSCI 699 CS Graduate Semester Co-op

CSCI 788 Computer Science MS Project

CSCI 790 Computer Science MS Thesis

CSCI 888 CS Graduate Summer Co-op

Minor Advisor/Point of Contact – Don Denz, Academic Advisor (don@cs.rit.edu)

Minor Faculty Advisor – Aaron Deever, Undergraduate Program Coordinator (atd@cs.rit.edu)

Computer Science Student Services Office - GOL 3005; general phone number 585-475-2995

RIT permits students to combine "the requirements of two distinct majors in a single Bachelors degree" (taken from RIT policy D01.2 (Undergraduate Double Major Policy)). Double majors are subject to numerous stipulations, constraints, and considerations and hence not all combinations of majors at RIT are either feasible or practical. Nonetheless, the Department of Computer Science does support double majors and will explore this option with interested students.  Since RIT switched to semesters, some of the more popular programs from which students have completed or are in the process of completing a double major involving Computer Science have included:

  • Economics
  • Game Design and Development
  • Computational Mathematics
  • Applied Mathematics
  • Software Engineering
  • Information Security and Forensics

For more information on double majors involving Computer Science, consult one of the following two documents:

Declaring an Undergraduate Double Major when Computer Science is used as the Primary Major

Declaring an Undergraduate Double Major when Computer Science is used as the Secondary Major

Preface

We have tried our best in this “handbook” to provide accurate, complete, and helpful information.  It is important for students to realize, however, that there is much more beyond what we have stated.  In particular, RIT, the college (GCCIS), and the department (Computer Science) follow or implement numerous institute policies and procedures.  A great deal of information is available to students through various sources, many of which are online, but it is also unrealistic to expect that all students will be aware of all the policies that pertain to them.  Different issues will come up at different times and not all issues will apply to every student.  We urge you to frequently consult or contact your academic advisor as well as the staff in the department’s Student Services Office to confirm or clarify your understanding when such issues do arise.  If individuals from Computer Science do contact you or communicate with you, please make sure you understand the message, acknowledge receipt of the message when asked to do so, or raise questions when something is not clear.

Documents

Advising - Getting Advice

Your advisor should be your first point of contact for assistance and advising. An academic advisor has been assigned to you based on the first letter of your last name. Please be sure to view your current advisor assignment via the RIT Student Information System (SIS).

To schedule an appointment, please call the Computer Science Student Services Office or stop by our office in GOL-3005. We do not do same day appointments, so please plan accordingly. Appointments are typically held between 9am-4pm.

Advising appointments may be necessary to discuss the following:

Schedule Changes and Planning
Curriculum Worksheet Questions
Change of Program Out of CS
Course Withdrawal
Concerns with a Course
Co-op
CS Minor
Non-CS Minor Declaration
Double Majors
Full-time Equivalency
I-20 Extension
Reduced Course Load
Scholarship
Project/Thesis
Non-majors Interested in CS

Advisors are also available via email to answer questions. Advisors use your RIT email account as the primary means of contacting students. If you use another email, you should forward all your RIT mail to the account you check regularly.

 

Faculty Advisors

 

While faculty advisors can discuss both academic and personal issues and address many of the same issues as the professional advisors, the real strength of faculty advisors lies in their professional expertise. Talk to your faculty advisor about career options, choices to make in selecting Computer Science or outside electives, or perhaps to get their opinion on several co-op opportunities that you have.

Faculty Research Interests

Program Coordinators/Directors

The Department of Computer Science has an Undergraduate Program Coordinator, an Associate Undergraduate Program Coordinator, a Graduate Program Director, and an Associate Graduate Program Coordinator.   All of these individuals have ongoing responsibilities to help manage the undergraduate and graduate programs.   The specific roles and responsibilities for each of these individuals is determined by the department chair, influenced by the nature of and size of each program, and can change over time.  In general, these individuals handle unusual situations with respect to degree requirements, approve or reject requests for exceptions, review co-op reports and assign co-op grades, verify that students can be certified for their degrees, and determine probation and suspension status. Coordinators are frequently called upon to sign off on most requests, from simple grade changes to changes in program status.  Such requests are typically submitted through academic advisors or department staff. The Undergraduate Program Coordinator makes decisions and assigns credit for transfer courses as well as Advanced Placement, CLEP, and IB situations while the Associate Undergraduate Program Coordinator currently handles all matters related to co-op.  The Graduate Program Director determines which students who apply (or request to change into the graduate program) are accepted and also recommends and monitors scholarships.  The Associate Graduate Coordinator currently handles all matters related to the accelerated BS/MS dual degree program in Computer Science or other accelerated BS/MS dual degree programs that include an MS in Computer Science.

Graduate Resources

The MS program in Computer Science consists of a core curriculum, a diverse set of clusters, and many additional electives. The core provides students with a solid background in the theoretical principles underlying computer science, which ensures that graduates acquire the intellectual tools necessary to keep up-to-date in this rapidly evolving discipline. The clusters provide students with the opportunity to obtain depth in a computer science discipline. The electives add the necessary breadth of knowledge required by industry. This combination prepares our graduates to engineer modern computing systems, and contribute in all aspects of systems life cycles.

Clusters are offered in a variety of areas, including computer graphics and visualization, data management, distributed systems, intelligent systems, programming languages and tools, security, and theory. Certain pre-approved courses from other departments also may be counted toward the degree.

The program helps students prepare for academic and research careers in computer science or a related discipline. The program is designed for students who have an undergraduate major or minor in computer science as well as those who have a strong background in a field in which computers are applied.

Faculty members in the department are actively engaged in research in artificial intelligence, wireless networks, pattern recognition, computer vision, visualization, data management, combinatorics, and distributed computing systems. There are many opportunities for graduate students to participate in these activities toward thesis or project work and independent study.

Applicants should have a baccalaureate or equivalent degree from an accredited institution and a minimum grade point average of 3.0 (B). RIT undergraduate students in computer science, computational math, biomedical computing, or computer engineering technology may study for both their BS and MS degrees through accelerated programs. Applicants from foreign universities must submit the Test of English as a Foreign Language (a score of at least 213) and Graduate Record Exam scores. GRE scores also can be considered for applicants whose undergraduate grade point average is lower than 3.0.


The available cluster areas are listed below. For courses listed by cluster, please refer to the Courses page. To see a list of Computer Science faculty associated with each cluster, click on the cluster links. Students are allowed to design their own cluster, with the consent of a faculty advisor and the graduate director.

Computer Graphics and Visualization

The Graphics and Visualization Cluster provides the technical foundations for graduate studies in Computer Graphics and Image Understanding. Areas for further study include Graphics Programming, Rendering and Image Synthesis, Computer Animation and Virtual Reality, Image Processing and Analysis, and Data Visualization.

Data Science

The Data Management Cluster studies the foundational data management and knowledge discovery challenges prevalent in design, analysis and organization of data. The courses cover general database issues, including database design, database theory, data management and data mining.

Distributed Systems

This area studies systems formed from multiple cooperating computers. This includes the analysis, design, and implementation of distributed systems, distributed middleware, and computer networking protocols, including security.

Artificial Intelligence

Artificial intelligence encompasses the study of algorithms and architectures that enable effective decision making in complex environments. Courses in this cluster cover computer vision, robotics, virtual theater, sensor networks, data mining, document recognition, and the theoretical foundations of decision-making (e.g. Markov chains and the properties of voting protocols).

Languages and Tools

The Languages and Tools cluster clusters language design and implementation together with architecture and use of software development tools. Students specializing in this cluster can gain a broad understanding of theoretical and applied knowledge.

Security

The Security area spans topics from networking to cryptography to secure databases. By choosing different domains in which to study security students can gain a broad understanding of both theoretical and applied knowledge.

Theory

The Theory area studies the fundamentals of computation. These fundamentals include complexity theory to determine the inherent limits of computation and communication and cryptography and the design and analysis of algorithms to obtain optimal solutions within those limits.
 

Please note that the courses listed below may not be offered every term, or even every year.
 

Computer Graphics and Visualization

The following list is a subset of the courses offered in this cluster:

Course Number Course Title
CSCI 610 Foundations of Computer Graphics (required)
CSCI 711 Global Illumination
CSCI 712 Computer Animation: Algorithms and Techniques
CSCI 713 Applied Perception in Graphics and Visualization
CSCI 714 Scientific Visualization
CSCI 715 Applications in Virtual Reality
CSCI 716 Computational Geometry

CSCI 719

Topics in Computer Graphics

Data Management

The following list is a subset of the courses offered in this cluster:

Course Number Course Title
CSCI 620 Intro to Big Data (required)
CSCI 621 Database System Implementation
CSCI 622 Data Security and Privacy
CSCI 720 Big Data Analytics
CSCI 721 Data Cleaning and Preparation
CSCI 722 Data Analytics with Cognitive Computing
CSCI 729 Topics in Data Management (different seminars offered under this number)

 

Distributed Systems

The following list is a subset of the courses offered in this cluster:

Course Number Course Title
CSCI 651 Foundations of Computer Networks (required)
CSCI 652 Distributed Systems
CSCI 654 Foundations of Parallel Computing
CSCI 662 Foundations of Cryptography
CSCI 759 Topics in Systems
CSCI 762 Advanced Cryptography

 

Intelligent Systems

The following list is a subset of the courses offered in this cluster:

Course Number Course Title
CSCI 630 Foundations of Intelligent Systems (required)
CSCI 631 Foundations of Computer Vision
CSCI 632 Mobile Robot Computing
CSCI 633 Biologically Inspired Intelligent Systems
CSCI 731 Advanced Computer Vision
CSCI 732 Image Understanding
CSCI 735 Foundations of Intelligent Security Systems
CSCI 736 Neural Networks and Machine Learning
CSCI 737 Pattern Recognition
CSCI 739 Topics in Intelligent Systems

 

Language and Tools

The following list is a subset of the courses offered in this cluster:

Course Number Course Title
CSCI 641 Advanced Programming Skills
CSCI 740 Programming Language Theory
CSCI 742 Compiler Construction (required)
CSCI 746 Software Development Tools
CSCI 749 Topics in Language and Tools

 

Security

The following list is a subset of the courses offered in this cluster:

Course Number Course Title
CSCI 622 Secure Security and Privacy
CSCI 642 Secure Coding
CSCI 651 Foundations of Computer Networks (required)
CSCI 662 Foundations of Cryptography
CSCI 729 Topics in Data Management (different seminars offered under this number)
CSCI 734 Foundations of Security Measurement and Evaluation
CSCI 735 Foundations of Intelligent Security Systems
CSCI 739 Topics in Intelligent Systems
CSCI 759 Topics in Systems
CSCI 762 Advanced Cryptography
CSCI 769 Topics in Theory

 

Theory

The following list is a subset of the courses offered in this cluster:

Course Number Course Title
CSCI 662 Foundations of Cryptography  
CSCI 664 Computational Complexity
CSCI 740 Programming Language Theory
CSCI 749 Topics in Language and Tools
CSCI 761 Topics in Advanced Algorithms
CSCI 762 Advanced Cryptography
CSCI 769 Topics in Theory

 

Theses on the ProQuest database can be found here.

Project submissions can be made here. (CS login required)

Current semester project submissions can be verified here.

Project wiki can be found here. (CS login required)

All CS MS Capstone projects must use this template.

CS Logos can be obtained here.

Documents:

The Curriculum

The graduate program of study consists of 30 semester credits. Students will select one of two tracks to the degree, the thesis track or the project track:

The Core Course:

• CSCI 665 Foundations of Algorithms (3 credits)

The Thesis Track:

• Three courses from a cluster (9 credits)
• Four electives (12 credits)
• Master’s Thesis (6 credits)

The Project Track:

• Three courses from a cluster (9 credits)
• Five electives (15 credits)
• Master’s Project/Colloquium (3 credits)

Clusters

Computer Science graduate students are required to identify a cluster of courses to complete their graduate work. To satisfy the cluster requirement a student must take three courses in a single cluster.

Cluster Descriptions

In the course lists for each cluster, those that are labeled “required” are courses that students who choose that cluster are required to take. Each cluster contains options for independent study or heretofore unnamed special topics courses.

Courses Within Each Cluster


Computer Science Independent Study

Students have a limited opportunity to obtain credit for independent study and to use that credit to meet degree requirements. Generally, independent study projects represent work that is different from, or an extension of, existing course offerings. In order to take an independent study, students must have a faculty sponsor. The faculty sponsor has to be a member of the CS faculty or GCCIS Ph.D. core faculty. Students and that faculty sponsor will fill out the Independent Study form to decide what they will do and how students will be graded. Students and the faculty sponsor must also sign the Independent Study form and the Graduate Program Director must approve it before the student is allowed to register for an Independent Study course. After the student’s work is complete, they are required to submit a report of their work to the sponsor of their independent study. The expected amount of time spent for a 3 credit hour independent study is equivalent to a 3 credit hour lecture course. A detailed report describing the completed work has to be handed in to the faculty sponsor. A typical report has about 30 pages. Students can apply at most six (6) semester hours of Independent Study toward the MS degree in Computer Science.

Approved Graduate Courses From Other Departments

Please work with the hosting departments of the following courses at time of enrollment regarding course registration as the Computer Science Department is not authorized to enroll students into these courses.

Ph.D.
CISC-820 Quantitative Foundations
CISC-830 Cyberinfrastructure Foundations

Information Technology
ISTE-724 Data Warehousing
ISTE-780 Data-driven Knowledge Discovery

Computer Engineering
CMPE-655 Multiple Processor Systems
CMPE-750 Advanced Computer Architecture

Mathematics
MATH-601 Methods of Applied Mathematics
MATH-605 Stochastic Processes
MATH-612 Numerical Linear Algebra

Imaging Science
IMGS-616 Fourier Methods for Imaging
IMGS-682 Introduction to Digital Image Processing
IMGS-722 Remote Sensing: Systems, Sensors, and Radiometric Image Analysis
IMGS-723 Remote Sensing: Spectral Image Analysis

Liberal Arts
ENGL-681 Introduction to Natural Language Processing (effective March 29/2017)
ENGL-682 Advanced Topics in Computational Linguistics (effective March 29/2017)

Grading

Any grade lower than “C” is considered failing. If a student receives a "C-" “D” or “F” they should meet with the graduate advisor as soon as possible to discuss the repercussions and create a recovery plan.

Getting Advice - MS

Your advisor should be your first point of contact for assistance and advising. An academic advisor has been assigned to you based on the first letter of your last name. Please be sure to view your current advisor assignment via the RIT Student Information System (SIS).

To schedule an appointment, please call the Computer Science Student Services Office or stop by our office in GOL-3005. We do not do same day appointments, so please plan accordingly. Appointments are typically held between 9am-4pm.

Advising appointments may be necessary to discuss the following:

Schedule Changes and Planning
Curriculum Worksheet Questions
Change of Program Out of CS
Course Withdrawal
Concerns with a Course
Co-op
Full-time Equivalency
I-20 Extension
Reduced Course Load
Scholarship
Project/Thesis
Non-majors Interested in CS

Advisors are also available via email to answer questions. Advisors use your RIT email account as the primary means of contacting students. If you use another email, you should forward all your RIT mail to the account you check regularly.

Academic Advisors

Faculty Advisors

While faculty advisors can discuss both academic and personal issues and address many of the same issues as the professional advisors, the real strength of faculty advisors lies in their professional expertise. Talk to your faculty advisor about career options, choices to make in selecting Computer Science or outside electives, or perhaps to get their opinion on several co-op opportunities that you have.

Faculty Research Interests

Program Directors

The Department of Computer Science has an Undergraduate Program Coordinator, an Associate Undergraduate Program Coordinator, a Graduate Program Director, and an Associate Graduate Program Director. All of these individuals have ongoing responsibilities to help manage the undergraduate and graduate programs. The specific roles and responsibilities for each of these individuals is determined by the department chair, influenced by the nature of and size of each program, and can change over time. In general, these individuals handle unusual situations with respect to degree requirements, approve or reject requests for exceptions, review co-op reports and assign co-op grades, verify that students can be certified for their degrees, and determine probation and suspension status. Coordinators are frequently called upon to sign off on most requests, from simple grade changes to changes in program status. Such requests are typically submitted through academic advisors or department staff. The Undergraduate Program Coordinator makes decisions and assigns credit for transfer courses as well as Advanced Placement, CLEP, and IB situations while the Associate Undergraduate Program Coordinator currently handles all matters related to co-op. The Graduate Program Director determines which students who apply (or request to change into the graduate program) are accepted and also recommends and monitors scholarships. The Associate Graduate Director currently handles all matters related to the accelerated BS/MS dual degree program in Computer Science or other accelerated BS/MS dual degree programs that include an MS in Computer Science.

 

Big data is noted for its volume, varieties of data types, and rapid accumulation. Big data has become a catchphrase to describe data collections that are so large they are not amenable to processing or analysis using traditional database and software techniques. The advanced certificate in big data analytics is a multidisciplinary program intended for professionals with BS degrees in computing or other diverse fields such as finance, retail, science, engineering, or manufacturing—areas where knowledge of how to analyze big data is necessary. The advanced certificate is also meant for students who would like a formal qualification in this area. The program allows professionals with a bachelor's degree to enhance their career opportunities and professional knowledge with targeted graduate course work in a focused area without making a commitment to an MS program.


Advanced Certificate in Big Data Analytics Curriculum

 

BS/MS Student Resources

The accelerated BS/MS dual degree program is for outstanding undergraduate students who wish to spend approximately one additional year to complete their MS degree immediately after their BS degree. A student who is accepted into the accelerated BS/MS dual degree program will be able to take up to three graduate courses (9 semester units) in Computer Science and apply them to both the BS and MS degree requirements. There can be significant financial benefits to students who enroll in this program, although these are best discussed with your financial aid counselor.

In general, you need to have third year academic standing and meet certain academic requirements and meet with the CS BS/MS academic advisor to apply for the this program. Please see the individual program descriptions listed below for further details.

A student will not receive their Bachelor's degree until the requirements for both Bachelor's and Master's degrees have been completed.  The Department of Computer Science permits students to work toward their Master's degree as soon as feasible, but the department strongly encourages students to make completion of all degree requirements for their Bachelor's degree their first priority.

Study Abroad Information

The CS department has created multiple opportunities for students to continue their studies while experiencing the world from a different perspective. Although there are many study abroad options available to students at RIT, the Computer Science department programs are unique in that all participating students take computer science based coursework while abroad. We encourage you to explore both options that the department offers, and encourage all students to check out additional study abroad opportunities offered by RIT.

The Location

Dubrovnik is the southern most city in Croatia and is a prominent tourist destination on the Adriatic Sea along the Dalmatian Coast. Dubrovnik has an international airport of its own, and a local bus system connecting all Dubrovnik neighborhoods. Croatia borders Slovenia, Hungary, Serbia, Bosnia-Herzegovina, and Montenegro and is across the sea from Italy.

The Curriculum

The Department of Computer Science at RIT will offer two to three CS courses each spring semester at RIT Croatia. A selection of Liberal Arts, Science, and Free Electives courses are also available. Traditionally, the CS courses offered are electives (Introduction to Intelligent Systems and Mobile Robot Programming). All classes at RIT Croatia are taught in English and all staff personnel at the college speak both English and Croatian.

Students will be accompanied by a CS faculty member who will teach the CS courses. The Liberal Arts, Science and Free Elective courses will be taught by RIT Croatia faculty. Students are registered with RIT as full-time students while on study abroad.

All RIT students in Dubrovnik will have a student mentor from RIT Croatia. The mentor will work with the students on basic language, customs, culture, and will be the point person for all questions.

Housing

Students will share apartments in Dubrovnik which will most likely be arranged by the staff at RIT Croatia. Many apartments are within walking distance of the college. The local bus service is very reliable and students can purchase a monthly bus pass for approximately $10 USD.

Program Costs

Students pay the full-time day college tuition rate to RIT. Students will also be charged a non-refundable program fee to help cover housing, events, and trips while in Croatia. Meals, airfare, local transportation, and other miscellaneous expenses are the responsibility of the student.

Financial Aid

Students currently receiving financial aid may be able to use their aid for overseas study and may, in some cases, have their awards increased. Students not currently receiving financial aid should also consult with a financial aid advisor to discuss financing options. Regardless of your situation, students should consult with the Office of Financial Aid at RIT to discuss the program costs before committing to the program.

Insurance

Students are required to be covered by a health plan while in Dubrovnik, either through their family plan or by purchasing RIT student health insurance.

Orientation

RIT Croatia requires all international students to attend a mandatory orientation the week before classes start. Students are free to travel through Europe before the orientation, but are expected to arrive in Dubrovnik by the designated orientation date.

Flights

Students are responsible for making their own flight arrangements for this program. Check out the useful links page for more information on flights.


Visas

Students are required to obtain a Croatian Visa prior to departing for Dubrovnik in order to study and live in Croatia for the entire semester.

 

The Location

Osnabrück is the third largest city in Lower Saxony with an approximate population of 170,000 people. Osnabrück lies on the main railroad line north from Frankfurt to Hamburg, which makes travel to other parts of Germany, as well as the rest of Western Europe, easy and inexpensive. Germany borders the Netherlands, Belgium, Luxembourg, France, Switzerland, Austria, Czech Republic, Poland, and Denmark.

Nearby German cities include Münster, Dortmund, Düsseldorf, Köln, and Hanover. The airport is the Münster Osnabrück International Airport and the main railway station is the Osnabrück Hauptbahnhof.

The Curriculum

Students typically take about four courses while in Germany, which equates to about 18 semester credits. Students are registered with RIT as a full-time student while on study abroad.

This is a direct enrollment study abroad program which means that participants normally take courses in German alongside German students, but many choose to take courses in English from the Cognitive Science Program. This program includes participants from around the world, and is a complete immersion program.

German lectures are not run the same way as they are in America. Some lectures are taught as seminar classes, where each student's grade is based on a presentation they make for the lecture as well as a final paper. Others are taught as traditional lectures, but each student's grade may be determined solely by the final exam for the course. Still others are taught as practice sections, where students go simply to try exercises and ask questions about the associated lecture. You would likely take a mixture of these types of courses while in Germany.

Artificial Intelligence
Introduction to basic concepts, methods, and algorithms of artificial intelligence with relations to topics of cognitive science. Problem solving and planning, constraint satisfaction, theorem proving and non-monotonic reasoning, approaches to knowledge representation, machine learning, declarative programming languages. Discussion of current/special topics:Multi-agent systems, cognitive robotics, computer vision, natural language processing.

Functional Programming
Introduction to concepts of functional programming based on the programming language ML. Functions, recursion, currying, higher order functions (functionals), binding, evaluation, lambda calculus, type inference and type checking, optimization and program transformation, fixed point semantics, theorem proving and verification. Special aspects of AI programming with Common Lisp.

Housing

Students typically live in University of Osnabrück designated apartments. These apartments usually consist of a single-person bedroom along with shared living space, kitchen, and bathroom. Students will most likely live with other university students from Germany and other European countries. There are university cafeterias and many inexpensive restaurants in the area. Students may also live off-campus with placement assistance provided by the University of Osnabrück.

Program Costs

Students will actually pay tuition and college fees to program affiliate SUNY Oswego. The estimated cost for one semester of study is dependent on airfare, individual spending habits, and housing selection. This total cost includes SUNY Oswego tuition and college fees, housing and meals, round-trip airfare, program differential, repatriation insurance, passport, and local transportation. An up-to-date program cost sheet can be obtained from the CS Student Services Office.

Financial Aid

Students currently receiving financial aid may be able to use their aid for overseas study and may, in some cases, have their awards increased. Students not currently receiving financial aid should also consult with a financial aid advisor to discuss financing options. Regardless of your situation, students should consult with the Office of Financial Aid at RIT to discuss the program costs before committing to the program.

Insurance

The University of Osnabrück recommends German health insurance for all international students. Students who can show that they are covered by comparable personal or family insurance will be permitted to waive the German insurance. SUNY regulations also require medical evacuation and repatriation insurance for all overseas programs. This special insurance will be added to the total costs of this program.

Orientation

The International Student Office at the University of Osnabrück requires all international students to attend a mandatory orientation the week before classes start in April. Students are free to travel through Europe before the orientation, but are expected to arrive at their residence in Germany by 4pm on the designated orientation date.

Flights

Students are responsible for making their own flight arrangements for this program. Check out the useful links page for more information on flights.

Croatia

Students must be at least second year status, be in good academic standing with the institute (3.0 cumulative GPA), be able to take a minimum of one CS course offered, and demonstrate the ability to articulate how this study abroad experience will fit with his/her academic goals.

Students must complete an application for the RIT Study Abroad Office.

Germany

Students must have completed at least one year of formal German language at RIT or have sufficient previous knowledge of the language. A cumulative GPA of at least 2.5 is required, and acceptance is based on the student's academic standing, recommendations, and personal study statement.

You should first speak with either Dr. Hans-Peter Bischof or Rebecca O'Connor about your interest in and qualifications for the program. The CS department will host a kick-off Germany Study Abroad meeting every fall semester. If interested in applying to this program, please attend the first meeting to receive details on other application procedures. An application for SUNY Oswego, the RIT Study Abroad Office, and the CS Department is required.

Studying abroad is a fun and safe experience but it is important to realize that you are representing your country and RIT while you are studying abroad. Also bear in mind that you are subject to the laws and customs of another country.

Although most trips abroad are trouble free, being prepared will go a long way to avoiding the possibility of serious trouble. Become familiar with the basic laws and customs of the country you plan to visit before you travel. Remember: Reckless behavior while in another country can do more than ruin your study abroad experience; it can land you in a foreign jail or worse! To have a safe trip, avoid risky behavior and plan ahead.

Apply early for your passport and, if necessary, any visas: Passports are required to enter and/or depart most countries around the world. Apply for a passport as soon as possible. Some countries also require U.S. citizens to obtain visas before entering. Most countries require visitors who are planning to study or work abroad to obtain visas before entering. Check with the embassy of the foreign country that you are planning to visit for up-to-date visa and other entry requirements.

Learn about the countries that you plan to visit. Before departing, take the time to do some research about the people and their culture, and any problems that the country is experiencing that may affect your travel plans.

Check for Travel Warnings and Travel Alerts. Travel Warnings recommend U.S. citizens defer travel to a country because of dangerous conditions. Travel Alerts provide fast-breaking information about relatively short-term conditions that may pose risks to the security of travelers.

Register with the nearest U.S. embassy or consulate. Register with the nearest U.S. embassy or consulate through the State Department's travel registration website. Registration will make your presence and whereabouts known in case it is necessary to contact you in an emergency. Remember to leave a detailed itinerary and the numbers or copies of your passport or other citizenship documents with a friend or relative in the United States.

For more specific information for your program of study, visit one of the following pages:

Travel advice for Croatia

Students learn more about Croatia through the balance between academic studies and cultural activities, while advancing in their professional career. While immersed in Croatian culture, students can taste different foods, enjoy the breathtaking scenery, vibrant nightlife, and travel to many historic destinations throughout Croatia, and Central and Southeastern Europe.

Culture

Day-to-day life in Croatia isn't all that different from life in the United States, except for a few minor differences. For one thing, Croats are able to enjoy the luxuries of being from a coastal region. Outdoor seating and leisurely walks can be enjoyed virtually year round. "Going for coffee" is an important pastime that takes more than the standard American "drive-thru" to enjoy. Croats also enjoy a public transportation system, so owning a car isn't really necessary. Students walk or use buses to get them around town, pretty much anywhere; getting from city to city is almost always done by train. Croats do not typically eat the way Americans tend to; they put a lot of importance on everything being fresh and healthy, which means things like TV dinners and junk food are difficult to find. Stores in Croatia tend to hold short hours, which means things will close early. In general, however, you'll find that Croatia isn't as different as you might think.

Clothing

Because our program runs in the spring semester, many different types of clothing will be needed. Although it is not as cold as it is here in Rochester, you will want a coat and a few sweaters to get through until April. After that you will likely want a Spring/Summer wardrobe to choose from for the rest of your stay. Rain gear is also important to bring along. The general dress code tends to be a little more formal/stylish than college students are used to in the US.

Computers

Bringing a laptop computer is of course the best solution, but if this is not possible, you could use the computer labs provided by ACMT. Even if you or your apartment mates don't have access to the Internet in your apartment while in Croatia, having a computer to work on programming assignments will make your life much easier. Also, if you're going to bring a computer with you, make sure you've got a plug adapter for European outlets. If your computer works on 120V and 240V power, then you'll only need a plug adapter, and if not,you'll need to get a voltage converter as well.

Documents

It's a good idea to make photocopies of your plane tickets, passport, etc. before you leave and carry them with you. While traveling, you should also be sure to give copies of these items to a friend or relative in case yours are misplaced. You may want to scan these items and burn them to a CD, but this is entirely up to you. Having copies of these items on you at all times will not only make replacement easier, but will also help to identify you, since the only universally accepted form of ID in Croatia is your passport.

Money

The official currency of Croatia is the Kuna although the Euro is also widely accepted. You can view current currency exchange rates at www.xe.com. Most stores in Croatia accept credit cards; it is important to remember that traveler's checks are not accepted in many stores, but you will be able to cash them at banks. One way to get money overseas is to have someone transfer money to your American bank account so you can withdraw it at an ATM in Croatia. This is not the only solution, but it seems to be the one which incurs the fewest fees. We recommend you notify your bank and credit card companies of expected use of your cards in Croatia so they do not put a hold on your account.

Banks

You probably won't need to open a bank account while you're in Croatia. ATM's are plentiful and you should have no trouble accessing your funds.

Phone Service

Cell phones can be purchased for a flat fee, with talk and SMS time being purchased on calling cards in variable increments. It is our recommendation that students purchase cell phones while in Croatia, as this has proven to be more economical than converting phones purchased and used here in the US.

Limits on Visitation

Because you will be in Croatia on a Visa, your stay cannot exceed 90 days. If you leave Croatia to travel, be sure to let your student mentor know so that he/she can arrange for proper calculation on your Visa. The days that you travel outside of Croatia do not count toward your 90 day limit.

Accommodations While Traveling

Youth hostels are one of the most economical places to stay. They can be researched and booked from any number of sites on the Internet. Some hostels are much nicer and more accessible than others, so research carefully.

Destinations in Europe

The possibilities are very open here. You can find student-priced airline tickets for much less than you'd pay elsewhere. You can get tickets from the Dubrovnik airport round-trip to many locations for 70 - 100 euro, sometimes even less. Ferries to Bari, Italy are also available during the Spring/Summer months. If you're staying in Croatia once classes conclude, travel to one of these places is definitely worth it.

Travel advice for Germany

Students learn more about Germany through the balance between academic studies and cultural activities, while advancing in their professional career. While immersed in German culture, students can visit festivals, taste different foods, enjoy the nightlife, and travel to many different destinations in Germany and throughout Europe.

Culture

Day-to-day life in Germany actually is not all that different from life in the United States, but there are some difference. For example, Germans are very big on recycling and conservation in general, which isn't typical for Americans. Germany (and most of Europe) also has a terrific public transportation system, so owning a car isn't really necessary. Many people use bicycles to get around town, and those who do not own a bike will ride a bus (or streetcars in certain German cities). Getting from city to city is almost always done by train. Germans don't really eat the same way as Americans; they put a lot of importance on everything being fresh and healthy, which means things like TV dinners and junk food are pretty difficult to find. Stores in Germany tend to hold short hours, which means things will close at about 7pm during the week, at 4pm on Saturday and be closed on Sunday. In general, however, you'll find that Germany isn't as different as you might think.

Clothing

Rain gear is essential in Osnabrück, since it tends to rain consistently; aside from that, you can expect weather a lot like Rochester(with the notable exception of much less snowfall). Bring enough regular clothing for about two weeks, plus some extra warm clothing. A nice outfit or two in case may also be needed, if you visit formal restaurants.

Computers

Bringing a laptop computer is of course the best solution, but if this is not possible, you could use the computer labs provided by the university. Even if you or your apartment mates don't purchase Internet access while in Germany, having a computer to work on programming assignments will make your life much easier. Also, if you're going to bring a computer with you, make sure you've got a plug adapter for European outlets. If your computer works on 120V and 240V power, then you'll only need a plug adapter, and if not,you'll need to get a voltage converter as well.

Documents

It's a good idea to make photocopies of your plane tickets, passport, etc. before you leave and carry them with you. You could also choose to scan these items and burn them to a CD, but this is entirely up to you. Having copies of these items on you at all times will not only make replacement easier but will also help to identify you, since the only universally accepted form of ID in Germany is your passport.

Money

The official currency of Germany is the Euro. You can view current currency exchange rates at www.xe.com. Contrary to what you may believe, most stores in Germany DO NOT accept credit cards. Also, traveler's checks are not accepted in stores, but you will be able to cash them at banks. One way to get money overseas is to have someone transfer money to your American bank account so you can withdraw it at an ATM in Germany, and deposit it into your German bank account. This is not the only solution, but it seems to be the one which incurs the fewest fees. We recommend you notify your bank of expected use of your card in Germany so they do not put a hold on your account.

Banks

You will probably want to open a bank account while you're in Germany, and there are plenty of banks to choose from. As a reference point, banks are traditionally only open during the week. Among the available banks, Sparkasse seems to be the most ubiquitous around the country, but you can also go with Deutsche Bank or something similar. If you're living in any of the student housing such as Salzmarkt or Jahnplatz, the rent money can be taken from your account automatically each month, as well as the money required for health insurance.

Phone Service

Cell phones can be purchased for a flat fee, with talk and SMS time being purchased on calling cards in 15 euro increments.

Student I.D.

Your student I.D. may be the single most important document you receive while in Germany. It will get you free bus travel around the city, free train travel to a number of destinations, and it will let you eat at the student Mensa. You'll want to get this laminated, which can be done a copy shop (like the Unikat behind the music store in Neumarkt) for a nominal fee.

The Mensa

The Mensa is the student cafeteria located both downtown and at the Westerberg campus. You can get lunch there for around 3 euro and the quality is very good. The Mensa in Osnabrück has been voted best in Germany on more than one occasion, so you can expect that the food will always be good and inexpensive. With this in mind, don't be surprised when you have to wait twenty minutes in line to get food. Getting lunch at the Mensa is serious business around Osnabrü:ck.

Westerberg

Westerberg is the scientific/technical campus for the university, located in the northern part of the city, your cognitive science classes will be there. You may encounter the situation where you have to get from one campus to the other in between classes, which is why all classes unofficially start at quarter past and end at quarter before the hour. You can get to Westerberg by taking buses 11, 12, 13 and 21 towards the northern part of the city and getting off at Sedanplatz.

The Auslandsamt

The Auslandsamt is a university office where you can go if you have any concerns about housing, your adjustment to the country or with any other questions you may have. Lots of trips and activities are planned for the international students through the Auslandsamt, so keep yourself updated on what they're offering. The Auslandamt produces a very helpful guide to life in Osnabrück.

BahnCard

Before you start traveling around Germany, we recommend that you sign up for a BahnCard. This card will get you 25% or 50% off the price of train travel anywhere in Germany, plus if you sign up for the Rail Plus option, you can get 25% off in other countries as well. They vary in price (between 100 and 200 euors, approximately), depending on whether you want the 25% discount card or the 50%, but either one is worth the price.

Accommodations While Traveling

Youth hostels are always the most economical way to go. They can be researched and booked from any number of sites on the Internet. Some hostels (A&O Backpackers in Berlin) are much nicer and more accessible than others (A&O Backpackers in East Berlin), so research carefully.

Destinations in Germany

Your student I.D. will get you free train travel to Hanover, Bremen, and Münster, all of which are worth a look. A bit further away are Köln, Frankfurt, Hamburg and Berlin, all of which you could spend a few days in and have plenty to do. All the way to the south are München and Stuttgart, which could be a little expensive to get to, but definitely worth visiting, especially if you want to see them on your way to Austria, Switzerland, Italy, etc.

Destinations in Europe

The possibilities are very open here. You can find student-priced airline tickets for much less than you'd pay elsewhere. You can get tickets from the Münster-Osnabrück airport round-trip to Rome and London for €70 - €100,sometimes even less. Night trains to Paris are around €140, and since your student I.D. gets you to Bad Bentheim (the station at the border with the Netherlands) for free, you can get to Amsterdam round-trip for about €40. If you're staying in Germany over the winter break, planning a longer trip to one of these places is definitely worth it.

Getting Help

If you are struggling in a course, we recommend that you speak or email with your professor as soon as possible.  You may also reach out to your academic advisor who can give you information about additional resources to assist you.

The CS Student Center is open from 8am until 11pm every day. Students are free to use the equipment in the center whenever it is open.  Teaching Assistants and Student Lab Instructors hold office hours in the Student Center. The schedule may be found here.

In addition to all of the usual support services RIT and the CS department offer, the CS theory faculty are offering their own tutoring service, featuring very qualified CS students. The tutoring takes place in the CS student center (70-3660).  More info and tutoring schedule can be found here.

In lab you can get help from the lab assistants on duty. They will be found in 3650 (Graduate Lab) or 3560 (Capstone Lab).  Help for common issues can be found here.

You may ask/email your academic advisor for information about co-op requirements and related matters or find additional information here.

Scholarships and Annual Awards

The Computer Science Department awards scholarships once per year in the spring semester.  Students will be notified early in the spring semester dates for application submission, specific awards and deadlines for applications.

To apply for any of these scholarship awards you must fill out the form here.

Deadlines for the 2019 scholarships are:

  • TSO - February 21, 2019
  • All other scholarships - March 20, 2019

ECI Systems & Engineering Scholarship (Three $3000 awards)

Established in November of 1997 by Dr. Richard T. Cheng, current President of ECI Systems & Engineering, and former Chair of Computer Science at RIT from 1973-1976. Applicants must be majoring in Computer Science, be in at least their second year of study, demonstrate academic achievement (at least a 3.0 overall GPA and a 3.2 GPA in Computer Science Courses), and financial need. Undergraduate students only.

Kenneth and Margaret Reek Scholarship (One $800 award)

Established in 1999 by Ken and Margaret Reek, both alumni of RIT's Computer Science Program and former faculty members in the Computer Science Department. The scholarship was established to assist students who might not otherwise be able to attend RIT. Applicants must be majoring in Computer Science, demonstrate academic achievement (at least a 3.0 overall GPA and 3.2 GPA in Computer Science courses), and financial need. Undergraduate students only.

Carl Reynolds Computer Science Scholarship (One $4000 award)

Established in 2008 in memory of Carl Reynolds who was a member of the faculty of RIT's Computer Science Department from the fall of 2004 until his death in the spring of 2008. Applicants must be majoring in Computer Science and in their first year of study. The award recognizes students who demonstrates academic achievement (at least a 3.0 GPA overall and a 3.2 GPA in Computer Science courses) and who combines academic accomplishments with a willingness to help and mentor fellow students. Undergraduate students only.

Outstanding First Year Student Scholarship (One $2000 award)

The outstanding first year student scholarship recognizes a first year Computer Science major who maintains high academic standards while also contributing positively to the culture within the Department. The award is given annually to an undergraduate student majoring in Computer Science in their first year who has earned an overall GPA 3.5 or better.

Outstanding Graduate Student Award (One $2000 award)

The outstanding graduate student award recognizes a Computer Science graduate student for maintaining high academic standards (at least a 3.5 overall GPA) and for making significant contributions to the Department and the Computer Science Graduate Program.

Outstanding Fifth Year Student Award (One $2000 award)

The outstanding fifth year student award recognizes a fifth year Computer Science student for maintaining high academic standards during his or her studies at RIT and has made significant contributions to the department. The award is given annually to a student who has maintained a 3.0 GPA or better average during his or her five years of study.

Alumni Scholarship (One $1000 undergraduate award; one $1000 graduate award)

The Alumni Scholarship recognizes one undergraduate and one graduate Computer Science student for maintaining high academic standards (at least a 3.5 overall GPA) during their studies at RIT and who have made significant contributions to the Computer Science Department. The award is made possible by generous donations from Computer Science alumni.

TSO Logic - An Amazon Web Services Company Scholarship Annual Award (Five awards:  $2,000 each)

Selection for this scholarship will be based on the recipient's matriculation in a degree-granting program in RIT's B. Thomas Golisano College of Computing and Information Sciences.  Preference will be given to second-year graduate students enrolled in computer science.  Recipients should demonstrate an area of interest in edge computing and/or big data analytics as evidenced by coursework and research topics and be in good academic standing.  The deadline to submit applications is Thursday, February 21, 2019.

Technical and Online Resources

Many of your CS questions can be answered using the links below.  If you have additional concerns or questions, please visit our Systems Administration Team located in GOL-3590.

AnchorAccount Issues
  1. What is my quota limit? 1GB is the default quota limit.

  2. How can I tell how much disk space I am using?  You can use the `myspace` command to report your disk utilization and your quota allocation.

  3. My class requires more space than I have available. How can I get my quota increased?  Talk to your Professor about your quota needs. They will request a quota increase from the System Administrators

  4. Okay, I am in my account, and it is over quota. What do I do?  You can run findhog to see what the 20 largest files in your home directory are. Alternatively, findhog x will find the largest x files in your home directory. There is also a script called rm-junk that goes through your home directory and looks for caches and core files and asks you if you want to remove them. Just type "y" at the prompt and it will delete them for you.

  5. I have changed some of my dot files, and now I have problems with my accountYou can get a copy of the default dot files (.bash_profile, .cshrc, .login, etc.) from /usr/local/pub/X/

  6. Can I change my shell? Currently you can not change your own shell, but if you want your default shell changed from bash you can contact the System Administrators (70-3590) and they can change it for you.

  7. How do I change my password? You can change your password with the command cspasswd. This is available on any DCS linux machine.  A reference document about good password practice is found in the HOWTOs section below.

  8. My unix password does not work on the Windows machines. What do I do?  Your passwords are out of sync. You will need to see the System Administrators in room 70-3590 to get your passwords re-synced

  9. When I run the cspasswd command it complains that it can not change my NT password. What gives? Your passwords are out of sync. You will need to see the System Administrators in room 70-3590 to get your passwords re-synced

  10. Help! I deleted some important files in my account! How do I get them back? If the files existed overnight, they can be backed up from that point in time. Send mail to problems@cs.rit.edu with the file name(s), the last time it was modified, and where the files existed in your directory.

  11. I have a project that will take several hours of compute time, but I don't want to sit around and wait for it -- what can I do?  The best way to do this is to no-hup the process (see the nohup man page) so it continues to run after you log out, and nice the process (see the nice man page) up to 20.

  12. Can I connect to the CS machines remotely?  You can use ssh to connect to any of the linux machines in the lab. Available tools for remote connection to the lab machines.  See the HOWTOs section below for instructions on using these tools.

  13. Can I remotely run programs that require a GUI interface? Yes you can. Please see the series of HOWTOs for various client operating systems.

  14. How do I copy files from my own machine to my CS account? You can use a USB flash drive. You can also use various tools to securely connect to the CS lab machines. See the HOWTOs section below for instructions on using these tools.

  15. Does the CS Department provide FTP access?  ftp-like access is available through sftp on any of the lab machines.


AnchorSoftware and Configuration
  1. Firefox won't start.  First make sure you're not already logged into another CS computer. You can only run Firefox on a single machine at a time.If that's not the issue, then you will need to manually remove the lock file for the browser. We have a script called fixfox that you can run. It will remove the lock files for you. When Firefox or Chromium crash, they will leave these files in your account which will keep you from opening them on any CS computer. The files you need to remove are:

  • Firefox

~/.mozilla/firefox/????????.default/.parentlock
~/.mozilla/firefox/????????.default/lock
where ???????? are random numbers and letters unique to your account (i.e. wed4pa82)


AnchorMail

The Department of Computer Science provides mail for students taking CS courses. Many faculty and advisor messages will be sent to your CS account, and it i s assumed you are reading it.

Your mail address is username@cs.rit.edu.

As of Fall 2017, student accounts will by default have their mail forwarded to username@rit.edu.

  1. What mail services are available for my Computer Science Account?  We provide webmail access, secure POP3, and secure IMAP.  Some basic configuration information:  pop/imap mail server: mailhost.cs.rit.edu,  imaps (secure) port: 993 (use SSL),  pop3s (secure) port: 995 (use SSL),  outgoing smtp port: 587 (use TLS)

  2. Where do I get information on how to connect with my favorite mail client? There is info on mail client connections in the HOWTOs section for this site.

  3. Can I forward my email to another system?  By default new student accounts already forward to @rit.edu. This can be removed by commenting out the forward in your .procmailrc file. (please see HOWTOs section)If you want to forward your mail, there are a few options. The preferred method is to modify your .procmailrc file(please see HOWTOs section). Another option would be To be able to forward your email to another account, you need the .qmail file in your home directory. The .qmail file should have & followed by the email address to which you are forwarding.The .qmail file should have the permission 600 otherwise the mail server will just ignore it.

  4. Is mail filtered for spam and viruses? Yes. Messages that contain viruses are quarantined. All other messages are ranked based on spam probability and an X-Spam-Status is added to your message headers. We will not filter it out for you.

  5. Can I do any mail filtering? Procmail is provided for mail filtering. In combination with Spam Assassin it makes an effective spam trap.  A good reference to doing this properly can be found in the HOWTOs section below.


AnchorWindow Managers
  1. What is the default window manager on the CS systems? The default window manager is Gnome .

  2. What other window managers are available?  MWM, vtwm, fluxbox

  3. How do I set up my window manager to be something other than Gnome? There is a series of HowTos for using window managers in the HOWTOs section below.


AnchorRegulations

What is contained in the Computer Science Department Code of Conduct?

 

Account

Password Policy Documentation

You can find RIT's offical password policy here.

Changing your DCS password

You must be logged on to one of the Linux machines in the department. You must use the 'cspasswd' program found in /usr/local/dcs/bin. (this will be in your default path if you have not changed your dot-files)


If you can not remember your CS password you must visit the System Admin office found in room 70-3590.
We WILL NOT give you passwords over the phone or through email.
Any problems or questions you have can be sent to problems@cs.rit.edu

Password Strength

At this time the Department of Computer Science requires you password to be:

  • At least 8 characters long, 12 or more is recommended.
  • Passwords must be made up of 3 of 4 character types (first and last characters do not count towards the total):
    1. uppercase letters
    2. lowercase letters
    3. numbers
    4. punctuation characters
  • not containing any dictionary words if it is less than 12 characters long.

Remote Connections

Using PuTTY

Getting PuTTY

PuTTY is a free SSH client available from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html From that page you can download either just the putty.exe program or a full set of SSH utilities including file transfer and key generation. Note that PuTTYtel will not work to connect to the CS department, as we do not support telnet connections.

Quick Connection

When you launch the PuTTY.exe program, it shows a configuration screen with many options. However, most of them can be left at their defaults. To connect to a CS department computer, enter the fully qualified domain name (example: newyork.cs.rit.edu) in the text box labeled "Host Name (or IP address)". You can then click the "Open" button to connect. The first time you connect to a host, it will display a security alert. You can usually click "Yes" and it will remember the host key and not prompt the next time you connect (see below for more details). After it connects, it will prompt for your username and password.

When connecting to a host for the first time or for the first time after a host's SSH keys (these are not your personal keys, but the keypair that identifies a particular computer system) have been rebuilt, you will be prompted with a message similar to:

The server's host key is not cached in the registry. You have no guarantee that the server is the computer you think it is. The server's rsa2 key fingerprint is: ssh-rsa 1024 03:90:56:97:64:e4:e3:24:12:ed:f8:a8:7e:04:1f:46 If you trust this host, hit Yes to add the key to PuTTY's cache and carry on connecting. If you want to carry on connecting just once, without adding the key to the cache, hit No. If you do not trust this host, hit Cancel to abandon the connection.

In general it is perfectly safe to hit Yes at this prompt. If you know the SSH keys on a host have not changed (this is most applicable to users running Unix at home) but you are being prompted with a message similar to the above, please contact the Admins immediately.

Saving a Session

To avoid having to type in a host and your user name every time, you can save the settings as a session. To do so, enter in a host name and set any additional settings (such as username under the "Connection/Data" category), then enter a name under "Saved Sessions" (in the main "Session" category) and press "Save". From then on, you can simply double-click the session name in the list to connect to that machine. You can use the "Load" button to bring up the settings in order to change them and then save them again under the same name or a new one.

Generating SSH Keys

PuTTY also comes with a program named PuTTYgen to generate SSH public and private keys. You can use these keys to authenticate instead of using your password.

Using SSH/SCP/SFTP

General Disclaimer

This is not a guide on how to use SSH/SCP/SFTP or any mail or news programs. There are far too many programs to write a comprehensive guide on each. Instead, this will serve as a general usage and configuration primer for the programs most readily available in the Department of Computer Science at R.I.T. All systems in the Computer Science Department are configured to use SSH2 only. There are a number of well-documented security vulnerabilities of SSH1 that SSH2 is immune to, so fallback to SSH1 has also been disabled.

Valid machines for general use are all student labs (ICLs 1-4) and the general access SMPs. When you are in a lab you will see name tags on each system; simply append '.cs.rit.edu' to the name for the fully-qualified DNS name. For example, the host idaho is really idaho.cs.rit.edu.

One machine not in labs that is a valid connection point is glados. This is a larger system available for general computing use, living in the Computer Science machine room.

When connecting to a host for the first time or for the first time after a host's SSH keys (these are not your personal keys, but the keypair that identifies a particular computer system) have been rebuilt, you will be prompted with a message similar to:


The authenticity of host '{hostname} ({host IP address})' can't be established.
RSA key fingerprint is 03:90:56:97:64:e4:e3:24:12:ed:f8:a8:7e:04:1f:46.
Are you sure you want to continue connecting (yes/no)?


In general it is perfectly safe to accept this prompt. If you know the SSH keys on a host have not changed (this is most applicable to users running Unix at home) but you are being prompted with a message similar to the above, please contact the Admins immediately.

Authentication with SSH

SSH supports multiple user authentication techniques. The two employed by the CS department are password-based and public/private key-based.

Using Password Authentication

This is the default technique; simply follow the directions for connecting to a CS host below. When connecting, you will be prompted for your password.

Using Public/Private Keys for Authentication

This technique requires the building and distribution of SSH keys.

Note that this method is generally not available for Windows systems. The password authentication technique is sufficient.

The command ssh-keygen should already be in your path.

The default behavior of the SSH key generator is to build 1024-bit RSA keys for SSH verison 2.

Building & Using SSH Keys

  1. At the Unix shell, enter the following command:

    $> ssh-keygen -b [1024 | 2048] -t rsa {enter}

    where you choose either 1024- or 2048-bit key length (longer keys = greater security at cost of greater computation time and effort).

    When prompted for a passphrase, it is important that you not leave this blank. It is also best to not make this passphrase the same as your password. Using your password as the key passphrase is essentially identical to using password authentication.

    This will create a file pair ~/.ssh/id_rsa and ~/.ssh/id_rsa.pub. The id_rsa.pub file is your public key, the file without the extention is your private key.

  2. At the Unix shell, enter the following command:

    $> ssh-keygen -b [1024 | 2048] -t dsa {enter}

    where you choose either 1024- or 2048-bit key length (again, longer keys = greater security at cost of greater computation time and effort). Also, note the algorithm difference (the first invocation generated RSA keys, this builds DSA keys).

    When prompted for a passphrase, it is important that you not leave this blank. It is also best to not make this passphrase the same as your password. Using your password as the key passphrase is essentially identical to using password authentication. For simplicities sake, this can be the same as your RSA keypair, but additional security is gained (in the sense that for full compromise of your keypairs it would require crack two passphrases, not just one) by making the two passphrases different.

    This will create a file pair ~/.ssh/id_dsa and ~/.ssh/id_dsa.pub. The id_dsa.pub file is your public key, the file without the extention is your private key.

When you distribute keypairs keep these points in mind:

  • In the CS department, all systems have a common filesystem. This means that in effect, for every two CS systems you move between, your SSH keys are already distributed.
  • File system permissions on both the public and private keys should be 0600 (readable and writable by you only).
  • If you want to connect to the CS systems from home, generate keys at home the same way as above, and simply copy your public key file to the CS systems. This is not a simple copy; it is important to follow these directions:
    • Say on the CS systems you have your public/private keypairs. When importing a new public key, save the new public key as a separate file.
    • Enter the following command to import a new public key:

      $> cat {new public key file name} >> ~/.ssh/authorized_keys {enter}

    • You should now be able to hop between hosts and authenticate using your SSH passphrase.

Now when using SSH you will not be prompted for your password but rather the passphrase you entered when generating the keys. This can be further simplified by using SSH agents. Depending on the authentication method chosen by the SSH handshake process, this is using either RSA or DSA keys; if your passphrase is different for each keypair, this will matter. SSH will default to RSA keys first, and then moving to DSA keys.  For more on this, see the Resources section.

So, Instead of My Password I Have a Passphrase -- Why Bother?

This point could be argued either way, but perhaps the most appropriate point is separation of authority. If one password is used everywhere, this is a single point of failure. If you use a password or second passphrase to log onto the CS systems, and then a different passphrase to move between the department (this scenario as follows: connecting to the CS department from home with SSH keypair A or via password authentication, and using SSH keypair B within the department), this is two levels of security.


General Notes on Authentication

Keys are the prefered method of authentication. As mentioned above, RSA keys are first tried, then DSA keys. If keys are non-existant or fail authentication (incorrect passphrase, etc), password-based authentication is used.

 

Connecting to a Machine Via SSH from OS X/Unix

Provided you have a CS account, from a Unix shell enter either of the following commands at a shell prompt:


$> ssh {username}@{machine name} {enter}

or

$> ssh -l {username} {machine name} {enter}
 

where {machine name} is either a fully qualified DNS name (eg. tin.cs.rit.edu) if you're connecting from outside the department, or just the hostname (eg. tin) if you're connecting from within.

If you're connecting two systems on which you have the same username, (ie, between two CS systems) you may ommit the {username} field; it defaults to the username you are currently using.

Use the default SSH port (TCP port 22) when connecting.

This technique works equally well for any other Solaris, Linux, or other Unix variant Operating System.

 

Connecting to a Machine Via SSH from Windows

Prerequisites:

  1. CS account
  2. SSH client for your version of Windows; suggested clients are:


Configure your client to connect using your CS username to a valid CS Department host. As with the Unix variants, your host specification is either a fully qualified DNS name (eg newyork.cs.rit.edu) if you're connecting from outside the department, or just the hostname (eg newyork) if you're connecting from within.

Use the default SSH port (TCP port 22) when connecting (there may be an option to change this value; leave it as is).

Getting a Windowing Environment -- When a Shell Isn't Enough

The above products will provide a secure shell, which does not permit multiple windows (eg, you won't be able to start emacs and maintain your shell window). If this is a desirable feature you will need to have an X Server running on your local machine. Please check out these How Tos:

Also note:

Using SCP and SFTP

These programs operate as a subset of the SSH package, and therefore are restricted to the hosts and protocols as mentioned above.

One Important Caveat About SCP and SFTP:

If excessive information is echoed to the terminal during login (from the .login or .bashrc/.cshrc files), these two programs will not work. RationalRose, as used in CS4 and CS for Transfer classes, also causes these programs to fail as they echo information to the terminal window.

Simply commenting out the appropriate lines in these files will allow SCP and SFTP to operate cleanly.

In your .cshrc or .bash_profile file, a line similar to:

source /usr/local/RationalRose/rs_setup.csh


exists; inserting a pound sign (#) before this line will comment it out and prevent its execution.

SCP

scp works like the unix 'cp' command, except it copies from between hosts.
A simple syntax (man scp for more options):

scp [ [user@]host1:]file1 []... [ [user@]host2:]file2

If user or host is omitted, it assumes your userid and local host.
example:

scp file1 username@holly.cs.rit.edu:/full-path-to-home/file2

This will copy file1 from your current machine and directory to /full-path-to-home/file2 through the machine holly. You will be required to authenticate as username for the process to succeed.

SFTP

SFTP works the same as traditional ftp, except over a secure connection. To use it, just connect to any of the lab machines.
Example:

sftp newyork.cs.rit.edu

After authenticating, you will be connected to your home directory. See the man page for sftp for more details.

Advanced: Using ssh-agent from OSX/Unix

Using ssh-agent can greatly increase automation when working on a distributed project while continuing to be secure. It allows you to use a passphrase protected ssh generated key without having to type in the password each time. This is done by starting a process that will act as a password proxy for your current shell session. This process is separate from the shell you invoke it from: it will be important that you kill that process before you close the shell. Otherwise, you will leave orphaned ssh-agent processes behind
To get ssh-agent to work for you, you must already have ssh keys generated (see Using Public/Private Keys for Authentication ).

  1. Open up a shell window on your Unix machine.
  2. Depending on what your default shell is, you will need to start ssh-agent
    • If using bash, dash, or sh, eval 'ssh-agent -s'. (the ' is important here)
    • If you use csh, tcsh, eval 'ssh-agent -c'
    This will take the output of the ssh-agent command as commands to be run. In this case, they will be values set in your shell. This will give your current shell session the information it needs to use the ssh-agent as a proxy.
  3. You will be able to now add an ssh key to the agent for proxy. ssh-add ~/.ssh/id_rsa (or id_dsa, or whatever name you gave your ssh keys). It will ask you for the passphrase. Type this in to unlock the key and add it to the agent.
  4. You can now use ssh to reach other machines with that key, and not require you to type in that passphrase each time.
  5. NOTE: When you are done with the current shell and logging off, please kill the process of the agent. It can be found typing echo $SSH_AGENT_PID
  6. NOTE: Only the shell that has the SSH_AUTH_SOCK and SSH_AGENT_PID variables set will have access to the agent. Unless you chose to add them by hand to other shell sessions, only the shell session you ran eval 'ssh-agent -s' will have a connection to the agent.

Using X11 with O S X

Installing X11

How to intall X11 depends on what version of OS X you have installed:

10.2 and earlier
No official versions of X11 exist for these versions.
10.3 (Panther)
X11 is available from Apple's website
10.4 (Tiger)
X11 is an optional installation from the Tiger DVD.
10.5 (Leopard) and later
X11 is installed by default.

Running X11

Recent versions of OS X will automatically launch X11 when a program attempts to connect to the X server. Open Terminal.app and try running xterm. If that doesn't work, you'll need to start X11 manually. It can be found in /Applications/Utilities.

Using X programs from the CS machines

Using the Terminal or an xterm, use ssh -Y username@hostname to connect to a CS machine. Once logged in, you may use programs as normal. For example running emacs should open the emacs window on your computer.

Before going any further, you should have downloaded Putty already. Documentation on getting Putty is available here.

Using/Getting Xming

  • Go to straightrunning.com/XmingNotes to download Xming.
  • Scroll down to Releases and under Public Domain Releases, click on Xming to download.
  • Run the .exe setup file
  • If you run into firewall problems, click “Allow access” to continue
  • Continue through the installer until “Finish”

Configure Xming for the first time

  • First, type and click XLaunch from the start menu to launch Xming
  • Choose display setting and display number and click Next
  • Click “Start a program” and Next
  • Chose “Run Remote” “Using Putty (plink.exe)”
  • Enter the IP address of the machine to which you want to connect. For Glados, for example, enter 129.21.30.38 or glados.cs.rit.edu
  • Enter your RIT username in “login as user” box
  • Enter your CS password in “Password” box
  • Click Next and Next
  • Under “Configuration Complete” Click on “Save configuration” so you don't have to launch xming each time you want to connect to the same machine
  • Click Finish

Configure Putty with Xming

  • Now, run Putty
  • Under Putty configuration window, select “Connection” on the left panel
  • Under SSH click on X11 on the left hand side menu
  • check “Enable X11 Forwarding”
  • Now, click “Session” at the very top of the left hand side menu. Scroll to the top if necessary
  • Fill in “Host name” box: IP address of machine
  • Makes sure the “Port” number is 22
  • Enter a name for this session under “Saved Session” box
  • Click on “Save” to save session – Refer here for more info
  • Then click Open to connect
  • You will be then prompted to enter your computer science username and password
  • Enter the name of Linux app you want to use, for example, libreoffice

Mail

pine/alpine with IMAP

General Notice

pine is available on the Solaris machines.
alpine is the replacement mail tool and currently is only found on the Ubuntu machines.

/var/mail is NFS mounted on the Solaris machines, which allows pine to read your inbox without the need for IMAP. This functionality is going to go away as the Solaris machines are phased out. There are no plans to mount /var/mail from the Ubuntu machines which is why you will need to set alpine up to read mail through IMAP

Setting up (al)pine to use IMAP

Once you start alpine, at the main screen hit 'S' then 'C'
(S) Setup -> (C) Config::

User Domain = cs.rit.edu
SMTP Server (for sending) = mailhost.cs.rit.edu:587/tls
Inbox Path = {mailhost.cs.rit.edu/user=username/ssl/IMAP}INBOX

where username is your CS username, ie. abc1234

choose 'E' to exit setup and confirm the changes.

To read your inbox type in your CS password at the promt. Then 'L' Folder List -> 'M' Mail -> INBOX

Procmail-forwarding email and spam filtering

procmail can be used to filter and forward your cs email. By default new students have their cs accounts set up with procmail to forward email to username@rit.edu.

to use procmail, you first need to

  • set up a ~/.qmail file with the following line:

|/usr/local/bin/qmail-procmail

  • set up a ~/.procmailrc file:

#=====================# # Filter out the spam # #=====================# :0: * ^X-Spam-Status: Yes /your-home-path/mail/caughtspam

That simple example will filter any mail that the system tags as spam and put it into your ~/mail/caughtspam file.

procmail will process your .procmailrc file until it finds a matching rule and then exit after following that rule. If procmail does not find a matching rule by the end of the file, the message will be put into your cs mail folder. So, if what you want to do is send all of your mail somewhere else, you could forward it at the end of your .procmailrc

Forwarding

If you want to forward your mail to another site you can add the following lines to the end of your ~/.procmailrc file:

:0 ! your@email

Don't forget to have your .qmail file process mail through procmail:

|/usr/local/bin/qmail-procmail

Other Resources

This is a very simple procmail set up, but you can get more help from the following resources:

 

Through an agreement with Microsoft, the department of Computer Science is pleased to announce that all Computer Science students can download a variety of Microsoft products free of charge. If you are interested in this opportunity visit the MSDN Academic Alliance page to get started.

Log in to the MSDNAA site using your CS username and password. If you do not know your password, please visit the CS system administration office to reset it.

Once you are logged in, all products which are available for download are listed. Select the products you wish to buy and add them to your cart. Once you have selected the software you wish to download, click the link to view your cart and click the checkout button. For each software product you selected click the download link. A page will be displayed that will give the serial number for the software (if required). Print this page for your records and then click the download button to download the software.

If you unable to access the site, or have problems downloading software, either stop by the CS system administration office (70-3590) or send email to msdnaa@cs.rit.edu. You must use your CS email account when requesting help so that we can verify that you are a CS student.

CS webmail access: login

Student Groups

Computer Science House, founded in 1976 is one of the oldest and most popular Special Interest Houses at the Rochester Institute of Technology in Rochester, NY. Located on the third floor of Nathaniel Rochester Hall, CSH provides a revolutionary living environment for over fifty students and a gathering place for many more members who live off-floor.

The purpose of the Computer Science Community (CSC) is to serve as a community for learning, support, friendship, social activity, and mentorship for Computer Science students. To receive information about upcoming CSC events, students are encouraged to join the mailing list by adding their email address here.

Women in Computing at RIT is a group of students, faculty, staff, and alumni who are committed to the success and advancement of women in computing.  WiC provides a forum for issues pertaining to women in computing, networking and mentoring opportunities, professional development, leadership opportunities, technical skill advancement, and community Outreach

For graduate Students there is Gradlife Student Council

Student Employment

Job descriptions, forms and requirements of the positions that the Computer Science Department typically has available are shown here.

Teaching Assistants (TA) instruct and grade labs, hold office hours, and teach help sessions, and special recitation sessions to help to prepare CS students for upcoming exams. Graduate Assistants (GA) provide support to the Systems Administrators, troubleshooting systems and printer problems, assisting faculty and students with issues related to systems, servers and accounts and other related duties as assigned. The Lab Manager will encompass many things in the areas of lab operation and the interviewing, selection, and scheduling for lab assistants, all related to hiring and time card paperwork and other related duties as assigned. For an application for these positions click here.

Student Lab Instructors (SLI) assist faculty in the delivery and grading of a programming based laboratory. The job requires you to work an average of 10 hours a week for 15 weeks. For a complete job description, including requirements for the position, click here.

To apply, please fill out a
Job Application and it submit to Jordan Gates, GOL (70), Room 3005, in the Computer Science Department’s Main Office. Completed applications can be emailed to jmgvcs@rit.edu
 

Graders assist professors by grading homework assignments and/or projects (NOTE graders do not grade exams). The amount of time that you will spend grading varies but it will typically not exceed 10 hours per week.

If you are interested in working as a grader, take a look at the schedule of courses for the term in which you want to grade. Find those courses you are qualified to grade for and make appointments to see the professors teaching those courses. Tell them you are interested in grading for them and what course you would like to grade. Different professors have different requirements for graders. Minimally they will expect that you are a student in good standing and that you have taken the course you want to be a grader for. Most professors start looking for graders at the beginning of the term or towards the end of the previous term.

When a professor agrees to hire you as a grader, they will help you to fill out a student grader contract. Once you have completed this form and it has been signed by the professor, bring it to the Computer Science Department’s Main Office (GOL 70-3005) and see Jordan Gates. Jordan will help you complete the necessary paperwork so that you will be paid.

We hire students to work in the CS main office. Students working in the office help out with various clerical tasks such as answering the phones, making copies, helping staff setup events, and so on. The number of hours that you will work varies but your hours will be sometime during the normal workday (Monday through Friday 8am to 4:30pm). Note that we do not typically hire students enrolled in any of the CS programs to work in the office.

If you are interested in working in the office, come to the main CS office (GOL 70-3005) and ask for Jordan Gates. He can help you out with the application process.

Students in the following majors may not apply for the clerical positions: Computer Science, Software Engineering, Computer Security, Computational Math and Computer Engineering.


 

The Computer Science Department is not currently accepting applications for the position of lab assistant. A department wide email will be sent when the application period has begun. This typically happens in November and March. Then, to apply, please fill out a Job Application. Completed applications can be emailed to labman@cs.rit.edu.