Docstoc

SUNY Plattsburgh Computer Science and Information Technology

Document Sample
SUNY Plattsburgh Computer Science and Information Technology Powered By Docstoc
					                 SUNY Plattsburgh
            Computer Science Department




Computer Science and Information Technology
             Student Handbook




                    Summer 2012
     www.cs.plattsburgh.edu/~plazaja/department/
Disclaimer.
Although all efforts are made to make this publication accurate, errors may happen. College
Catalog should be consulted as the only official document specifying degree requirements.
Contents
To Prospective Students ........................................................................................................... 1
Choosing a Major ..................................................................................................................... 2
Careers .................................................................................................................................... 3
Majors
 Computer Science Major ....................................................................................................... 5
 Information Technology Major ............................................................................................... 7
Minors
 Bioinformatics Minor for Biological Sciences Students.......................................................... 9
 Bioinformatics Minor for Computer Science Students ........................................................... 9
 Computer Science Minor..................................................................................................... 10
 Information Technology Minor............................................................................................. 11
 Web Design and Programming Minor.................................................................................. 12
A New Building to House Computer Science .......................................................................... 13
CSC Course Descriptions........................................................................................................ 13
CSC Course Prerequisites Graph ............................................................................................ 19
Projections of Course Offerings .............................................................................................. 20
Academic Advising: How to Select Courses ........................................................................... 21
Distinguish Yourself................................................................................................................ 25
Internships ............................................................................................................................. 26
Teaching Assistantships ......................................................................................................... 27
Computing Services and Facilities.......................................................................................... 28
Video and Discussion ............................................................................................................. 29
Beginnings of the Department of Computer Science ............................................................ 30
Faculty and Staff ................................................................................................................... 32
Contact Information ............................................................................................................... 34
To Prospective Students

Dear Student:

Welcome to the Computer Science Department -- the home of Information Technology and
Computer Science Programs. The department was created in 1970, and for the last 40 years
has prepared thousands of students for careers in computing. As computing technology has
evolved and changed, so have our courses -- we always make sure that we present a current
view of the discipline.

Over the years the department has developed strategies for selecting appropriate courses
for students with varying backgrounds. Whatever your math background, we will place you
in a course suitable for you. If you have never taken any computing courses, you can start in
CSC121 -- this will help you see which area of computing is most interesting to you. If you
took computing courses in high school or in another college, you can transfer them to SUNY
Plattsburgh and move immediately to our intermediate or high level courses. If you gained
computer related experience on your own or on a job, we will let you learn new topics
without sitting in a course whose material you have already mastered.

While the main computer lab at the college uses Windows, our department's labs use Linux/
UNIX. If you are not familiar with Linux, a 1-credit CSC119 will get you started. This course
takes only five weeks and can be taken concurrently with other courses in which students
need to work in a Linux environment. Although all the work can be done in our computer
labs, you may prefer to work at home -- in such a case any operating system (including
Windows, Linux/Unix, or UNIX based Mac OS X) will allow you to do this. We will recommend
additional free software to install. The college provides recommendations for computer
options, a computer service plan, free anti-virus software, on-line guides to using multimedia
software, etc.

The department takes pride in offering students a lot of individual attention when they need
help in their courses. Class sizes are small. Our weekly Video and Discussion meetings offer
the opportunity to talk with faculty and fellow students about current issues in computing,
science and engineering. Our students participate in national programs of research
experience for undergraduates (REU). To find out about scholarships, please contact the
Office of Financial Aid. Whenever you have any questions about requirements, courses
suitable for you, preparation for a career, or searching for an internship or a job, please talk
with your adviser or ask any member of the Computer Science Department. You are always
welcome to contact me with your questions and concerns, or to stop by my office to chat.

I remember my college years well -- intellectually, they were the most exciting time of my
life. I hope you will have the same experience and enjoy studying at the Computer Science
Department of SUNY Plattsburgh!

Best wishes,
Dr. Jan Plaza, Chair




1
Choosing a Major

The Computer Science Department offers majors and minors in Computer Science (CS) and
Information Technology (IT).

Computer Science (CS) explores programming and theoretical foundations of computing
with emphasis on algorithms and mathematical issues. Computer scientists work on
developing new designs for hardware and software. CS majors prepare for careers in
software development or for graduate studies in any area of computing. If you dream about
designing space missions at NASA, this can be your starting point!

Information Technology (IT) is concerned with forming and maintaining computing
environments for businesses and organizations. Information technicians chose and configure
hardware and software, monitor performance and security of databases, web servers and
computer networks. If you dream about providing computing support at the 21st century
level, IT is for you! IT technicians are sought in health care, financial or educational services,
commerce and manufacturing. As our IT major requires only a small number of credits, it can
be easily taken as a second major.

According to recent job market analysis, computing jobs form one of the fastest growing
segments and will remain in that position for a number of years. Because of security
concerns, most current and future computing jobs will not be subject to outsourcing -- they
will remain in the country. Altogether, CS and IT are excellent career choices for life!


  If you like math and programming, choose the CS major. And if you want to make it even
  stronger, add an IT minor.
  If you are not sure what major to choose, start with the IT major -- it requires only 40
  credits and gives you flexible options:
        • If you decide to gain a deeper understanding of computing, including its
            foundations, after a year you can switch to the CS major;
        • If you decide to build more strength in IT, you can take courses and internships
            beyond the required 40 credits or add a CS minor;
        • If you decide to expand your knowledge and skills in natural sciences (biology,
            physics, chemistry, environmental science, ...) or in math, you can add a second
            major in one of these areas. The 40 credits devoted to IT should still be quite
            easy to complete. But if you wish, you can replace the IT major with a minor in
            CS or IT. Your knowledge and skills in computing will nicely complement those of
            another area and will be highly marketable when you start looking for a job.


Because of an overlap in requirements for CS and IT majors, it is easy to switch from one
major to the other. You can also declare the CS major with the IT minor or the IT major with
the CS minor; in such cases 12 out of 18-19 credits for the minor must be in courses not
counted for the major, but there can be an overlap of 6-7 credits.




                                                                                                2
IT minor (18 cr.)                                      CS minor (19 cr.)
IT major (40 cr.)              CS major BA (49 cr.)             CS major BS (58 cr.)
IT major + CS minor (52 cr.) CS major BA + IT minor (61 cr.) CS major BS + IT minor (70 cr.)

You may be interested in interdisciplinary minors related to computing:

     • Bioinformatics Minor for Biological Sciences Students (24 cr.)
     • Bioinformatics Minor for Computer Science Students (21 cr.)
     • Web Design and Programming Minor (18-19 cr.)

Even without declaring a minor, it is possible to take courses beyond the requirements of
your major and have them count as general electives towards the 120-credit college
requirement. Our courses, whether in CS or IT, have the same prefix, CSC.

Our most successful students choose a double major or a major and a minor or even a major
and two minors, enroll in the Honors Program or write a thesis for an advanced honors
project. They also register as Teaching Assistants at our department or work as tutors in the
Learning Center. We encourage you to consider right from the start how you can distinguish
yourself.




Careers
CS and   IT programs prepare you for the following careers.
     •    Computer programmers (CS),
     •    Computer software engineers/designers (CS),
     •    Computer scientists (educators/researchers) (CS),
     •    Database administrators (CS or IT),
     •    Web programmers and web server administrators (CS or IT)
     •    System and network administrators (IT),
     •    Computer support specialists/technicians (IT),
     •    Computer system analysts (designing solutions for organizations) (IT).

The jobs which could be moved overseas have already been moved -- most current CS and
IT jobs cannot be outsourced to other countries due to security concerns.

An increased spectrum of jobs becomes available after earning a graduate degree; our CS
major offers excellent preparation for graduate studies. Some of our students were
accepted in graduate CS programs at Cornell University, University of Copenhagen
(Denmark) and other distinguished universities.



From the Bureau of Labor Statistics
Among 156 occupations projected to have the most job openings between 2008 and 2018,
five CS/IT occupations are among the top twenty. All five require a Bachelor's degree. Mean
yearly wages are:
      • Computer Support specialists — $47,000+



3
     • Network, System, DB administrators — $70,000+
     • Computer Software engineers — $90,000+

"Employment of computer software engineers is expected to increase by 32 percent from
2008-2018, which is much faster than the average for all occupations. [...] a large number of
new jobs, with more than 295,000 created between 2008 and 2018. Demand for computer
software engineers will increase as computer networking continues to grow."

"Overall employment of computer network, systems, and database administrators is
projected to increase by 30 percent from 2008 to 2018, much faster than the average for all
occupations. [...] will add 286,600 new jobs over that period."

"Employment of computer support specialists is expected to increase by 14 percent from
2008 to 2018, which is faster than the average for all occupations. Demand for these
workers will result as organizations and individuals continue to adopt the newest forms of
technology. As technology becomes more complex and widespread, support specialists will
be needed in greater numbers to resolve the technical problems that arise."

"Employment of computer systems analysts is expected to grow by 20 percent from 2008 to
2018, which is much faster than the average for all occupations. Demand for these workers
will increase as organizations continue to adopt and integrate increasingly sophisticated
technologies and as the need for information security grows."

See Career Links for more information.




                                                                                             4
Computer Science Major, BA or BS

Two variants are available:
Curriculum 781 -- Bachelor of Arts (BA) in Computer Science, total credits 49-51,
Curriculum 782 -- Bachelor of Science (BS) in Computer Science, total credits 58-60.
The BS version requires nine more credits in elective CSC courses than the BA version.

    A. Departmental Requirements (BA — 40 cr., BS — 49 cr.)
           1. CSC119 (1 cr.) Introduction to UNIX/Linux
           2. CSC217 (3 cr.) Discrete Math with Computer Science Applications I
               or MAT231 (3 cr.) Sets, Functions and Relations
           3. CSC221 (3 cr.) Introduction to Programming
           4. CSC223 (3 cr.)Data Structures and Algorithms
           5. CSC318 (3 cr.) Discrete Math with Computer Science Applications II
               or MAT361 (3 cr.) Probability and Statistics
           6. CSC319 (3 cr.) Programming in C and C++
           7. CSC321 (3 cr.) Design and Analysis of Algorithms
           8. CSC333 (3 cr.) Computer Organization
           9. CSC336 (3 cr.) Software Engineering I
         10. CSC372 (3 cr.) Ethics in the Age of Technology and Information
         11. CSC422 (3 cr.) Theory of Computation
         12. CSC433 (3 cr.) Operating Systems
         13. CSC446 (3 cr.) Software Design Studio
         14. Electives, in different versions for BA and BS.
                    ◦ For BA, select three credits in 300/400 level CSC courses excluding
                      CSC498 Internship.
                    ◦ For BS, select twelve credits in 300/400 level CSC courses
                      with the following restrictions:
                      Only three credits in CSC310/311/312/313 can be counted;
                      Only three credits in CSC436 Software Engineering II can be counted;
                      Only three credits in CSC496 Teaching Assistantship can be counted;
                      No credits in CSC498 Internship can be counted.
    B. Cognate Requirements (9-11 cr.)
           1. Communication Elective — select one course (3cr):
                    ◦ CMM101 (3 cr.) Introduction to Public Speaking
                    ◦ Any Advanced Writng Course (AWR) in natutral sciences or math
                      (BIO380, BIO490, CHE391, ENV340, MAT397, PHY398)
           2. Calculus Elective (3-4 cr.) — select one course:
                    ◦ MAT221 (3 cr.) Calculus for Life, Management and Social Sciences I
                    ◦ MAT224 (4 cr.) Calculus I
                    ◦ MAT228 (4 cr.) Applied Calculus — recommended
                    ◦ HON144 (3-4 cr.) Calculus I
           3. Math Elective (3-4 cr.) — select one course:
                    ◦ MAT202 (3 cr.) Linear Algebra — recommended
                    ◦ MAT222 (3 cr.) Calculus for Life, Management and Social Sciences II
                    ◦ MAT225 (4 cr.) Calculus II
    C. Additional Requirements



5
            1. A minimum overall GPA of 2.0 in courses taken under section A of the major
               requirements above.
            2. A grade of C or better in CSC221 and CSC223.



Additional Information Technology Minor (Optional)
Minor code: 1014
Coordinator: J. Plaza
Total credits for the IT minor: 12 (reduced from 18, when taken together with CS major.)
Total credits for the CS major BA and the IT minor: 61-63
Total credits for the CS major BS and the IT minor: 70-72

    A. Required Courses (9 cr.) (2 cr.)
           1. CSC119 (1 cr.) Introduction to UNIX/Linux
           2. CSC217 (3 cr.) Discrete Mathematics with Computer Science Applications I
               or MAT231 (3 cr.) Sets, Functions and Relations
           3. CSC221 (3 cr.) Introduction to Programming
           4. CSC310 (1 cr.) Perl or CSC311/312/313 (1 cr.) Computer Language
           5. CSC320 (1 cr.) Systems Administration
    B. Elective Courses (9 cr.) (10 cr.)
       Select nine ten credits from among the following courses but excluding Major
       Electives A14:
             ◦ One of the following: CSC121 (3 cr.) Introduction to Computing and the Web
               or CSC123 (3 cr.) Scientific Simulation and Modeling
             ◦ CSC310 (1 cr.) Perl
             ◦ CSC311/312/313 (1 cr.) Computer Language, may be repeated with different
               languages up to 3 times.
             ◦ CSC330 (3. cr.) Human Computer Interfaces
             ◦ CSC336 (3 cr.) Software Engineering I
             ◦ CSC341 (3 cr.) Introduction to Databases with Web Applications
             ◦ CSC352 (3 cr.) Computer Security (requires Deviation Form until approved)
             ◦ CSC357 (3 cr.) Computer Networks
             ◦ CSC372 (3 cr.) Ethics in the Age of Technology and Information
             ◦ CSC436 (3 cr.) Software Engineering II
             ◦ CSC441 (3 cr.) Database Management Systems
             ◦ CSC485 (3 cr.) Topics in Computing, may be repeated with different topics.
    C. Additional Requirements
               Overlap restriction: At least 12 out of the required 18 credits must be taken
               in courses not counted toward student's majors or other minors.

NOTES
   1. The BS version of the CS major requires nine more upper level elective CSC courses
      than the BA version.
   2. The following courses will count also as GenEds: CSC123, CSC217, CMM101,
      MAT221, MAT224, MAT228 and HON144.
   3. The degree is awarded after completing all the college requirements, including
      General Education requirements, and obtaining a total of 120 credits.




                                                                                            6
Information Technology Major, BS

Curriculum 305 -- Bachelor of Science (BS) in Information Technology, total credits: 40-41.

    A. Department Requirements (34 cr.)
           1. CSC119 (1 cr.) Introduction to UNIX/Linux
           2. CSC121 (3 cr.) Introduction to Computing and the Web
           3. CSC217 (3 cr.) Discrete Math with Computer Science Applications
               or MAT231 (3 cr.) Sets, Functions and Relations
           4. CSC221 (3 cr.) Introduction to Programming
           5. CSC310 (1 cr.) Perl
           6. CSC311/312/313 (1 cr.) Computer Language
           7. CSC320 (1 cr.) System Administration
           8. CSC330 (3 cr.) Human Computer Interfaces
           9. CSC336 (3 cr.) Software Engineering I
         10. CSC341 (3 cr.) Introduction to Databases with Web Applications
               or CSC441 (3 cr.) Database Management Systems
         11. CSC357 (3 cr.) Computer Networks
         12. CSC372 (3 cr.) Ethics in the Age of Technology and Information
         13. CSC436 (3 cr.) Software Engineering II
         14. Electives (3 cr.) -- select three credits:
                    ◦ CSC436 (3 cr.) Software Engineering II, with a different topic than
                      CSC436 in A13 above.
                    ◦ CSC496 (1-2 cr.) Teaching Assistantship — may be repeated.
                    ◦ CSC498 (1-3 cr.) Internship — may be repeated.
    B. Cognate Requirements (6-7 cr.)
           1. Communication Elective (3 cr) — select one course:
                    ◦ CMM101 (3 cr.) Introduction to Public Speaking
                    ◦ Any Advanced Writng Course (AWR) in natutral sciences or math
                      (BIO380, BIO490, CHE391, ENV340, MAT397, PHY398)
           2. Math Elective (3-4 cr.) — select one course:
                    ◦ CSC318 (3 cr.) Discrete Math with Computer Applications II
                    ◦ BIO333 (3 cr.) Biostatistics
                    ◦ ENV333 (3 cr.) Biostatistics
                    ◦ MAT161 (3 cr.) Instroductory Statistics
                    ◦ MAT221 (3 cr.) Calculus for Life, Management and Social Sciences I
                    ◦ MAT224 (4 cr.) Calculus I
                    ◦ MAT228 (4 cr.) Applied Calculus
                    ◦ HON144 (3-4 cr.) Calculus I
    C. Additional Requirements
           1. A minimum overall GPA of 2.0 in courses taken under section A of the major
               requirements above.
           2. A grade of C or better in CSC121 and CSC221.




7
Additional Computer Science Minor (Optional)
Minor code: 1408
Coordinator: J. Plaza
Total credits for the CS minor: 12 (reduced from 19, when taken together with IT major.)
Total credits for the IT major and the CS minor: 52-53

    A. Required Courses (10 cr.) (3 cr.)
           1. CSC119 (1 cr.) Introduction to UNIX/Linux
           2. CSC217 (3 cr.) Discrete Math with Computer Applications I
               or MAT231 (3 cr.) Sets, Functions and Relations
           3. CSC221 (3 cr.) Introduction to Programming
           4. CSC223 (3 cr.) Data Structures and Algorithms
    B. Elective Courses (9 cr.)
       Select nine credits from among:
             ◦ any 300/400-level CSC courses except CSC498 Internship
             ◦ one, not both, of the following: PHY350 (3 cr.) Circuits and Electronics or
               PHY365 (4 cr.) Electronics for Scientists
    C. Additional Requirements
           1. Only three credits in CSC310 Perl and CSC311/312/313 Computer Language
               can be counted;
           2. Only three credits in CSC496 Instructional Practicum can be counted;
           3. Overlap restriction: At least 12 out of the required 19 credits must be taken
               in courses not counted toward student's majors or other minors.

NOTES
   1. The following courses will count also as GenEds: CSC217, CMM101, MAT161,
      MAT221, MAT224, MAT228 and HON144.
   2. The degree is awarded after completing all the college requirements, including
      General Education requirements, and obtaining a total of 120 credits.




                                                                                              8
Bioinformatics Minor for Majors in Biology
(302, 303, 733), Cytotechnology (787) and
Medical Technology (722)

Minor Code 1021
Coordinator: J. Plaza (Deprtment of Computer Science)
Total credits: 24

    A. Required courses
           1. BIO333 (3cr) Biostatistics
           2. BIO341 (3cr) DNA and Bioinformatics
           3. CSC217 (3cr) Discrete Math with Computer Applications I
           4. CSC318 (3cr) Discrete Math with Computer Applications II
           5. CSC221 (3cr) Intro Programming
           6. CSC223 (3cr) Data Structures and Algorithms
           7. CSC321 (3cr) Design and Analysis of Algorithms
           8. CSC441 (3cr) Database Management Systems
    B. Overlap restriction: At least 16 out of the required 24 credits must be taken in
       courses that do not count toward student's majors and other minors.



Bioinformatics Minor for Majors in
Computer Science (781, 782)

Minor Code 1022
Coordinator: N. Buckley (Department of Biological Sciences)
Total credits: 21

    A. Required courses
           1. CHE112 (4cr) Fundamental Principles of Chemistry
           2. BIO101 (4cr) General Biology I
           3. BIO305 (4cr) General Genetics
           4. BIO333 (3cr) Biostatistics
           5. BIO341 (3cr) DNA and Bioinformatics
           6. CSC441 (3cr) Database Management Systems
    B. Overlap restriction: At least 14 out of the required 21 credits must be taken in
       courses that do not count toward student's majors and other minors.




9
Computer Science Minor

Minor code: 1408
Coordinator: J. Plaza
Total credits: 19

    A. Required Courses (10 cr.)
           1. CSC119 (1 cr.) Introduction to UNIX/Linux
           2. CSC217 (3 cr.) Discrete Math with Computer Applications I
               or MAT231 (3 cr.) Sets, Functions and Relations
           3. CSC221 (3 cr.) Introduction to Programming
           4. CSC223 (3 cr.) Data Structures and Algorithms
    B. Elective Courses (9 cr.)
       Select nine credits from among:
             ◦ any 300/400-level CSC courses except CSC498 Internship
             ◦ one, not both, of the following: PHY350 (3 cr.) Circuits and Electronics or
               PHY365 (4 cr.) Electronics for Scientists
    C. Additional Requirements
           1. Only three credits in CSC310 Perl and CSC311/312/313 Computer Language
               can be counted;
           2. Only three credits in CSC496 Instructional Practicum can be counted;
           3. Overlap restriction: At least 12 out of the required 19 credits must be taken
               in courses not counted toward student's majors or other minors.




                                                                                         10
Information Technology Minor

Minor code: 1014
Coordinator: J. Plaza
Total credits: 18

     A. Required Courses (9 cr.)
            1. CSC119 (1 cr.) Introduction to UNIX/Linux
            2. CSC217 (3 cr.) Discrete Mathematics with Computer Science Applications I
                or MAT231 (3 cr.) Sets, Functions and Relations
            3. CSC221 (3 cr.) Introduction to Programming
            4. CSC310 (1 cr.) Perl or CSC311/312/313 (1 cr.) Computer Language
            5. CSC320 (1 cr.) Systems Administration
     B. Elective Courses (9 cr.)
        Select nine credits from among:
              ◦ One of the following: CSC121 (3 cr.) Introduction to Computing and the Web
                or CSC123 (3 cr.) Scientific Simulation and Modeling
              ◦ CSC310 (1 cr.) Perl
              ◦ CSC311/312/313 (1 cr.) Computer Language, may be repeated with different
                languages up to 3 times.
              ◦ CSC330 (3. cr.) Human Computer Interfaces
              ◦ CSC336 (3 cr.) Software Engineering I
              ◦ CSC341 (3 cr.) Introduction to Databases with Web Applications
              ◦ CSC352 (3 cr. Computer Security (requires Deviation Form until approved)
              ◦ CSC357 (3 cr.) Computer Networks
              ◦ CSC372 (3 cr.) Ethics in the Age of Technology and Information
              ◦ CSC436 (3 cr.) Software Engineering II
              ◦ CSC441 (3 cr.) Database Management Systems
              ◦ CSC485 (3 cr.) Topics in Computing, may be repeated with different topics.
     C. Additional Requirements
                Overlap restriction: At least 12 out of the required 18 credits must be taken
                in courses not counted toward student's majors or other minors.




11
Web Design and Programming Minor

Minor Code 1020
Coordinator: J. Plaza

Total credits: 18-19

    A. Required Courses (9 cr.)
           1. ART104 (3 cr.) Basic Design: 2-D
               or ART205 (3 cr.) Intro Graphic Design
           2. CSC221 (3 cr.) Intro Programming
               or MIS303 (3 cr.) Intro Business Appl. Progr.
           3. CMM242 (3 cr.) Basic Web Design
               or JOU317 (3 cr.) Web Design and Production
       The 9 credits must be taken from categories B and C together.
    B. Design and Content Electives -- 3-7 cr. selected from among:
            ◦ ART305 (3 cr.) Graphic Design II
            ◦ ART306 (3 cr.) Digital Imaging
            ◦ ART407 (3 cr.) Design in Interactive Media
            ◦ CMM240/JOU240 (3cr.) Audio-Video Prod. for Public Rel. and Journalism
            ◦ CMM360/JOU360 (3 cr.) Interactive Journalism
            ◦ CMM434 (4 cr.) Advanced Web Design
            ◦ CSC330 (3 cr.) Human Computer Interfaces
    C. Programming Electives -- 3-6 cr. selected from among:
            ◦ CSC310 (1cr) Perl
            ◦ CSC311/312/313 (1 cr.) Programming Language -- may be repeated with a
               different language
            ◦ CSC320 (1 cr.) System Administration
            ◦ CSC341 (3 cr.) Intro Databases with Web Applications
            ◦ MIS402 (3 cr.) Database Management

OVERLAP RESTRICTION: At least 12 out of the required 18-19 credits must be taken in
courses not counted toward student's majors and other minors.




                                                                                      12
A New Building to House Computer Science




We will move to a new building by the end of 2012. The building, seen here in computer
generated images, will be located by the intersection of Draper Avenue and Cornelia Street.
It will house the Computer Science Department and the School of Business and Economics.




CSC Course Descriptions
CSC119 - Introduction to UNIX/Linux (1 cr.) Study of the features of the UNIX/Linux
operating systems from the standpoint of a user. (Fall/Spring).

CSC121 - Introduction to Computing and the Web (3 cr.) Introduction to computer
science through Web-based projects. Describes the basic operations of computers covering
hardware and software. Covers the use of communication technology through the Internet.
Focuses on problem solving and algorithms. Teaches how programming languages are used
to implement solutions to practical problems. Covers social issues associated with
computing and computer science. (Fall/Winter/Spring/Summer). Liberal arts.

CSC123 - Scientific Simulation and Modeling (3 cr.) Introduction to the use of
simulations for scientific study. Students will design experiments and employ the scientific
method in the context of simulations in a specific natural science. Students will gain
knowledge about computer hardware and software. A programming language will be used as



13
a means to formally describe and solve domain specific problems. Each course offering will
focus on a specific discipline for which simulation and modeling is valuable. (Fall/Spring).
Liberal arts.

CSC199 - Independent Study (1 to 15 cr.) Project individually arranged by student and
faculty sponsor. Requires completion of the Independent Study form and approval by the
Faculty Sponsor, Academic Advisor, Department Chair and Academic Dean. (Fall, Winter,
Spring, Summer).

CSC217 - Logic, Numbers, Machines, and People - Discrete Math with Computer
Applications (3 cr.) An introduction to discrete mathematics with a focus on methods of
reasoning and applications to computer science. Topics: propositional logic, first order logic,
methods of proof, mathematical induction, elementary number theory. Applications include
digital circuits, computer arithmetic, computer algorithms. (Fall/Spring). Liberal arts.
Prerequisite: MAT102 or equivalent high school course.

CSC221 - Introduction to Programming (3 cr.) Introduces methods for developing and
implementing correct and effective algorithms. Uses an object oriented programming
language (currently Python). Attention is given to design strategy, data organization, testing,
and documentation. 3 hours lecture and 2 hour laboratory. (Fall/Spring). Liberal arts.
Corequisites: familiarity with UNIX/Linux or CSC119 or CSC219. Prerequisite: familiarity with
programming or CSC121 or CSC123.

CSC223 - Data Structures and Algorithms (3 cr.) Organization of data with associated
algorithms into arrays, lists, stacks, queues, binary trees, sets, and maps. Includes
programming projects with object-oriented design principles using appropriate data
structures. Algorithms are analyzed using the Big O notation. (Spring). Liberal arts.
Prerequisites: CSC217; CSC221 with a grade of C or better.

CSC285 - Topics in Computing (1 to 3 cr.) A course on topics in computing of current
interest (in a seminar format, lecture format, lab format or a combination). Offers a wide
perspective; accessible to majors and non-majors. May be repeated for credit with a
different topic. (Occasional). Prerequisites: vary with topic.

CSC299 - Independent Study (1 to 15 cr.) Project individually arranged by student and
faculty sponsor. Requires completion of the Independent Study form and approval by the
Faculty Sponsor, Academic Advisor, Department Chair and Academic Dean. (Fall, Winter,
Spring, Summer).

CSC310 - Perl (1 cr.) Introduction to Perl programming language. Students will design, run,
and debug programs. (Fall). Prerequisite: CSC221.

CSC311 - Computer Language (1 cr.) Introduction to a single high-level programming
language or data representation language. Programs in the particular programming
language will be designed and run, or tools for processing data represented in the language
will be used. May be retaken for credit with a different language. Liberal arts. Prerequisite:
CSC221.

CSC312 - Computer Language (1 cr.) Introduction to a single high-level programming
language or data representation language. Programs in the particular programming
language will be designed and run, or tools for processing data represented in the language



                                                                                             14
will be used. May be retaken for credit with a different language. Liberal arts. Prerequisite:
CSC221.

CSC313 - Computer Language (1 cr.) Introduction to a single high-level programming
language or data representation language. Programs in the particular programming
language will be designed and run, or tools for processing data represented in the language
will be used. May be retaken for credit with a different language. (Fall). Prerequisite: CSC221.

CSC314 - Non-Imperative Programming (3 cr.) An introduction to functional and logic
programming languages. Covers the conceptual foundations, semantics, and syntax of each
language and discusses the nature of the functional and logic programming paradigms.
Programs appropriate to the languages will be designed and run. (Occasional). Liberal arts.
Prerequisite: CSC221.

CSC318 - Discrete Mathematics with Computer Science Applications II (3 cr.) A
continuation of CSC217 focusing on applications in computer science. Topics: sets, functions,
and graphs, combinatorics, elementary probability. Applications include formal languages,
finite-state automata, analyzing recursive algorithms, applying graph algorithms. (Spring).
Liberal arts. Prerequisite: CSC217.

CSC319 - Programming in C and C++ (3 cr.) The programming language C and C++ for
students with substantial programming experience in some other language. (Every third
semester). Prerequisite: CSC221.

CSC320 - System Administration (1 cr.) Overview of the concepts and techniques of
computer system administration. Topics will include privilege models, user management,
kernel software, system services, system security and scripting. (Fall). Corequisite: CSC119.
Prerequisite: CSC221.

CSC321 - Design and Analysis of Algorithms (3 cr.) Course presents general techniques
for the design of algorithms. These include divide-and-conquer, dynamic programming,
greedy algorithms, and randomized algorithms. Specific algorithms are studied which are
drawn from a variety of applications - bioinformatics, scheduling, encryption, graphics,
search space. Advanced data structures - graphs, balanced trees - will be studied with
applicable algorithms. (Fall). Liberal arts. Prerequisites: CSC223 (grade of C or better).

CSC330 - Human Computer Interfaces (3 cr.) Aspects of human-computer interaction
will be studied including models of perception, cognition, attention, representation, memory,
identity, interaction styles and feedback. The role of information visualization in interfaces
will be explored. Students will also learn how to perform empirical studies to evaluate
computer interfaces. (Spring). Liberal arts. Prerequisite: CSC121 or CSC221.

CSC333 - Computer Organization (3 cr.) A study of the organization and the structure of
hardware components of computers and concepts and techniques of programming in
machine assembly language. Emphasis is placed upon the relationships of machine
language to computer architecture and higher level languages. The relationship between
user applications, operating systems, and computer hardware is discussed. (Every third
semester). Liberal arts. Prerequisite or corequisite: CSC221

CSC336 - Software Engineering I (3 cr.) This course will provide an introduction to
current practices in software engineering. The role of software metrics to manage software



15
projects, evaluate software processes, and track software quality will also be examined. (Fall,
Spring). Prerequisite: CSC221.

CSC341 - Introduction to Databases with Web Applications (3 cr.) Designing a
database using entity-relationship diagram, implementation of a database and querying in
SQL, writing external programs to access the database, languages for creating web pages
and writing server side programs to provide dynamic web content from a database. Requires
a programming project involving all the topics above. (Spring). Prerequisite: CSC310.

CSC345 - Artificial Intelligence (3 cr.) A survey of procedural and representational
techniques used to study or simulate intelligent behavior. The nature of intelligence,
machine and human, will be considered. Research developments will be reviewed.
Theoretical and ethical limitations will be discussed. A significant programming or writing
project will be expected from the student. (Occasional). Liberal arts. Prerequisite: CSC221
and CSC217.

CSC352 - Computer Security (3 cr.) A survey of the theory and practice of computer
security. Topics will include mandatory and discretionary access control, cryptography,
policies, mechanisms, profiles, and threat assessment. (Every odd year in Spring).
Prerequisite: CSC221 or equivalent.

CSC357 - Computer Networks (3 cr.) Overview of computer networks with particular
emphasis on the Internet. The layered architecture of the Internet is presented with their
related algorithms and current protocols. Security issues are also examined. (Fall). Liberal
arts. Prerequisite: CSC221.

CSC372 - Ethics in the Age of Technology and Information (3 cr.) Investigation of the
relationship between computers and society in terms of ethical issues such as: personal
privacy vs. societal security; intellectual property vs. free speech; dehumanization and loss
of autonomy vs. rehumanization; and application of artificial intelligence. Approved AWR.
(Fall). Liberal arts. Prerequisites: ENG101; LIB105; CSC121 or experience in programming;
junior standing

CSC399 - Independent Study (1 to 15 cr.) Project individually arranged by student and
faculty sponsor. Requires completion of the Independent Study form and approval by the
Faculty Sponsor, Academic Advisor, Department Chair and Academic Dean. (Fall, Winter,
Spring, Summer).

CSC422 - Theory of Computation (3 cr.) Theoretical foundation of computer science.
Considers classes of languages, formal grammars, and automata and the relationships
among them. Decidable and undecidable problems. May include topics from recursive
function theory or complexity theory. (Every even year in Fall). Liberal arts. Prerequisite:
CSC318 or MAT231.

CSC433 - Operating Systems (3 cr.) The design of systems that manage computer
resources (processor, memory, disks and other peripheral devices) in a multitasking
environment. Attention to concurrency problems and their solutions. Process and thread
scheduling. Strategies for data storage management. Mechanisms that provide system and
user security. Approaches to system deadlock. (Every third semester). Liberal arts.
Prerequisites: CSC319, CSC333.




                                                                                               16
CSC436 - Software Engineering II (3 cr.) This course will instruct students in application
of software engineering principles to a medium sized software project. Students will work in
teams using an agile software process to gain experience with all aspects of the software
development cycle. The topics covered will include personal productivity, customer
interaction, team productivity, communication skills, process improvement, and project
management in the context of a semester long project. May be taken a second time for
credit with a different project topic. (Fall/Spring). Prerequisite: CSC336.

CSC437 - Theory and Implementation of Programming Languages (3 cr.) A study of
the general principles and concepts for understanding and analyzing programming
languages, and the major techniques for language implementation. Languages will be
compared and analyzed with respect to their semantics, syntax and underlying models of
computation. The basic techniques for implementing compilers and interpreters will be
covered. A substantial language implementation project will be required. (Occasional).
Liberal arts. Prerequisites: CSC319 or CSC314 or two credits from CSC313.

CSC441 - Database Management Systems (3 cr.) Relational database design and
implementation. Core topics include: record and file organizations, access structures, entity-
relationship model, relational algebra and calculus, relational model functional dependencies
and normalization, SQL, database implementation and application programs. Bioinformatics
databases and related programming libraries. (Occasional). Liberal arts. Prerequisites:
CSC318, CSC223.

CSC445 - Knowledge Representation and Inference (3 cr.) Methods of knowledge
representation in order for an intelligent system to make inference about the world. Covers
frames languages, semantic nets, conceptual graphs, production systems, first-order logic
representations and inference, statistical methods, probability and uncertainty, non-
monotonic and default reasoning, common sense reasoning. (Occasional). Liberal arts.
Prerequisite: CSC318 or MAT231.

CSC446 - Software Design Studio (3 cr.) This course will instruct students in application
of software engineering principles to a medium sized software project. Students will work in
teams using an agile software process to gain experience with all aspects of the software
development cycle. Object oriented programming principles and appropriate data structures
will be applied in the context of a semester long software project. (Fall, Spring). Liberal arts.
Prerequisites: CSC336 and CSC223 (grade of C or better).

CSC451 - Computer Graphics (3 cr.) Rendering graphics objects on any output device
with the intervention of a graphical processing unit (GPU). Writing programs with an
emphasis on interactive graphics, using OpenGL and graphics libraries. Fundamental
algorithms of two and three dimensional computer graphics. (Occasional). Liberal arts.
Prerequisites: CSC221 and MAT202 or POI.

CSC453 - Introduction to Numerical Methods (3 cr.) Introduction to methods of solution
to numerical problems. Emphasis is given to obtaining accurate results by utilizing methods
of estimating the magnitude of error and techniques for controlling error. Numerical
algorithms used in programming problems include: synthetic division, root finding,
interpolation, least squares, numerical integration and solution of ordinary differential
equations. (Occasional). Liberal arts. Prerequisite: MAT225.

CSC485 - Topics in Computing (3 cr.) A course on topics in computing of current interest



17
(in a seminar format, lecture format, lab format or a combination). May be repeated for
credit with a different topic. (Occasional). Liberal arts. Prerequisites: vary with topic.

CSC495 - Undergraduate Research (2 to 6 cr.) Research project individually arranged
between student and faculty member. May be repeated for credit. (Fall, Winter, Spring,
Summer). Liberal arts. Prerequisite: POI.

CSC496 - Instructional Practicum (1 to 2 cr.) Designed for students who will work under
the supervision of a faculty member to assist in the instruction of a course. A contract
specifying the responsibilities of each student will be filed in the department. May be
repeated a second or third time with chairperson's permission. (Fall - Spring). Prerequisite:
POI.

CSC498 - Internship in Computer Science (1 to 15 cr.) Computer science activity at an
industrial or research facility. (Fall, Winter, Spring, Summer). Prerequisite: six credits in upper
level CSC courses and department chair approval.

CSC499 - Independent Study (1 to 15 cr.) Project individually arranged by student and
faculty sponsor. Requires completion of the Independent Study form and approval by the
Faculty Sponsor, Academic Advisor, Department Chair and Academic Dean. (Fall, Winter,
Spring, Summer).

CSC522 - Theory of Computation (3 cr.) Theoretical foundation of computer science.
Considers classes of languages, formal grammars, and automata and the relationships
among them. Decidable and undecidable problems. May include topics from recursive
function theory or complexity theory. The topics and assignments are broader and/or go
more in depth than in CSC422: a research or programming project is required. This course is
open only to graduate students or undergraduates who are within 15 credits of graduation.
Students can receive credit for this course only if they have not received credit for CSC422.
(Occasional).

CSC533 - Operating Systems (3 cr.) The design of systems that manage computer
resources (processor, memory, disks and other peripheral devices) in a multi-tasking
environment. Attention to concurrency problems and their solutions. Process and thread
scheduling. Strategies for data storage management. Mechanisms that provide system and
user security. Approaches to system deadlock. The topics and assignments are broader and/
or go more in depth than in CSC433: a research or programming project is required. This
course is open only to graduate students or undergraduates who are within 15 credits or
graduation. Students can receive credit for this course only if they have not received credit
for CSC433. (Every third semester).

CSC541 - Database Management Systems (3 cr.) Relational database design and
implementation. Core topics include: record and file organizations, access structures, entity-
relationship model, relational algebra and calculus, relational model functional dependencies
and normalization, SQL, database implementation and application programs. Bioinformatics
databases and related programming libraries. The topics and assignments are broader and/
or go more in depth than in CSC441: a research or programming project is required. This
course is open only to graduate students or undergraduates who are within 15 credits of
graduation. Students can receive credit for this course only if they have not received credit
for CSC441. (Occasional).




                                                                                                18
CSC545 - Knowledge Representation and Inference (3 cr.) Methods of knowledge
representation used by an intelligent system to make inference about the world. Covers
frames languages, semantic nets, conceptual graphs, production systems, first-order logic
representations and inference, statistical methods, probability and uncertainty, non-
monotonic and default reasoning, common sense reasoning. The topics and assignments are
broader and/or go more in depth than in CSC445; a research or programming project is
required. This course is open only to graduate students or undergraduates who are within 15
credits of graduation. Students can receive credit for this course only if they have not
received credit for CSC445. (Occasional).

CSC585 - Topics in Computing (3 cr.) A course on topics in computing of current interest
(in a seminar format, lecture format, lab format or a combination). May be repeated for
credit with a different topic. The topics and assignments are broader and/or go more indepth
than in CSC485: a substantial research or programming project is required. The course is
open only to graduate students or undergraduates who are within 15 credits of graduation.
Students can receive credit for this course only if they have not received credit for CSC485
with the same topic. (Occasional). Prerequisites: vary.




CSC Course Prerequisites




NOTE. All the courses in the box below CSC221 require this course as a pre-requisite; also
taking csc119 is required or strongly recomended before taking these courses. The graph
shows dependencies in a simplified manner. Please see CSC course descriptions for the
exact prerequisites.




19
Projections of Course Offerings (Tentative)
CSC COURSES                                                              CR    IT ITcs CSit CS FREQUENCY             F12 S13 F13 S14
csc000     Video and Discussion                                           0                    fall, spring           •   •   •   •
csc119/219 Introduction to UNIX/Linux                                     1    R R      R    R fall, spring           •   •   •   •
           prereq.: none
csc121     Introduction to Computing and the Web                          3    R   R          fall, spring,           •      •    •   •
           prereq.: none.                                                              e      sum., winter on-line
csc123     Scientific Simulation and Modeling (GE:5NST)                   3                   fall, spring            •      •    •   •
           prereq.: none.                                                                     summer (?) on-line
csc217     Discrete Math with Comp. Applications I (GE:5MAT)              3    R   R   R    R fall, spring            •      •    •   •
           prereq.: mat102 Precalculus or equivalent.
csc221     Introduction to Programming (Python)                           3    R   R   R    R fall, spring            •      •    •   •
           prereq.: programming or csc121/123. Coreq.: Linux or csc119.
csc223     Data Structures and Algorithms                                 3        r   R    R spring                         •        •
           prereq.: csc221 with grade C and csc217.
csc285     Topics in Computing (topic varies with offering)               3                    depends on demand     Sec Hea      ?   ?
           prereq.: vary. (May be repeated with different topic.)                                                    ur+ lth+
csc310     Perl                                                           1    R   R           fall                   •           •
           prereq.: csc221.
csc312     Computer Language (language varies with offering)              1        e           fall                   C#          ?
           prereq.: csc221. (May be repeated with different lang.)                      r
csc313     Computer Language (language varies with offering)              1        e           fall                  Andr.        •
           prereq.: csc221. (May be repeated with different lang.)                                                   Java
csc318     Discrete Math with Computer Applications II                    3    C   C   R    R spring                         •        •
           prereq.: csc217.                                                        e
csc319     Programming in C and C++                                       3        e   R    R every third semester                •
           prereq.: csc221.
csc320     System Administration                                          1    R   R    r      fall                   •           •
           prereq.: csc221. Coreq.: csc119/219.
csc321     Design and Analysis of Algorithms                              3        e   R    R fall                    •           •
           prereq.: csc223 with grade C.
csc330     Human Computer Interfaces                                      3    R   R   E    E spring                         •        •
           prereq.: csc121 or csc221.                                                  e
csc333     Computer Organization                                          3        e   R    R every third semester    •               •
           prereq.: csc221.
csc336     Software Engineering I                                         3    R   R   R    R fall, spring            •      •    •   •
           prereq.: csc221.
csc341     Intro. to Databases with Web Applications (SQL)                3    R   R   E    E spring                         •        •
           prereq.: csc310/313 Perl.                                                   e
csc352     Computer Security                                              3            E    E odd years in spring.           •
           prereq.: csc221 or equivalent.
csc357     Computer Networks                                              3    R   R   E    E fall (except 2012)                  •
           prereq.: csc221.                                                            e
csc372     Ethics in the Age of Tech/Information (AWR)                    3    R   R   R    R fall                    •      ?    •   ?
           prereq.: junior standing, eng101, lib105, progr. exp.
csc422/522 Theory of Computation                                          3        e   R    R even years in fall      •
           prereq.: csc318 or mat231.
csc433/533 Operating Systems                                              3        e   R    R every third semester           •
           prereq.: csc319 and csc333.
csc436     Software Engineering II (project varies with offering)         3    R   R   E    E fall, spring            •      •    •   •
           prereq.: csc336. (May be taken second time for credit.)             E   E   e
csc441/541 Database Management Systems (SQL)                              3    E   E   E    E depends on demand.      •
           prereq.: csc223 and csc318.                                             e   e
csc446     Software Eng. Studio (project varies with offering)            3        e   R    R fall, spring            •      •    •   •
           prereq.: csc223 and csc336.
csc485/585 Topics in Computing (topic varies with offering)               3        e   E    E depends on demand              ?    ?   ?
           prereq.: vary. (May be repeated with different topic.)                      e
csc496     Teaching Assistantship (related to a chosen course)           1-2   E   E   E    E fall, spring            •      •    •   •
           prereq.: permission of the instructor. (May be repeated.)
csc498     Internship (topic varies with offering)                      1-15   E   E           fall, spring,          •      •    •   •
           prereq.: 6 credits in upper level CSC courses.                                      summer, winter




                                                                                                                             20
NOTES
   • CSC COURSES
            ◦ "GE" is followed by the denotation of a General Education category the
               course belongs to.
            ◦ "AWR" marks a course that satisfies the Advanced Writing Requirement.
            ◦ Depending on the availability of faculty and qualifications of the student,
               csc199/299/399/499 Independent Study (1-15 cr.) and csc495
               Undergraduate Research (2-6 cr.) may be offered any semester, including
               summer and winter. They may count as electives or replace required
               courses.
            ◦ Also the following elective courses are offered during fall or spring
               semesters, depending on demand: csc314 Non-Imperative Programming,
               csc345 Artificial Intelligence, csc437 Theory and Implementation of
               Programming Languages, csc445 Knowledge Representation and Inference,
               csc451 Computer Graphics, csc453 Numerical Methods.
   • IT — IT major requirements;
      ITcs — IT major + CS minor requirements;
      CS — CS major requirements;
      CSit — CS major + IT minor requirements.
   • R — required for the major;
      E — elective for the major;
      C — cognate elective for the major;
      r — required for the minor;
      e — elective for the minor.
      Green highlighting — all required courses are highlighted in green.
   • CR — number of credits.
   • FREQUENCY Some courses whose frequency "depends on demand" are offered
      every fall and spring; please help the department choose which courses to offer —
      talk with computer science faculty about your interests.
   • F12 — Fall semester 2012, S13 — Spring semester 2013, etc.
      Yellow highlighting — special, one-time or new offerings are highlighted in yellow.



Academic Advising: How to Select Courses
Selecting classes each semester is one of the most important decisions you will make at
college. You will make these choices in consultation with your faculty adviser. Prior to
meeting with your adviser, at the midpoint of each semester during the advising period,
there are several things you should consider.

CAPP report. Login to MyPlattsburgh and navigate to CAPP report. Your CAPP report
shows completed requirements and those which are still outstanding (marked by an arrow).
Print out and review your CAPP report prior to meeting with your adviser, and bring it to the
meeting.

Course balance. Generally, a well-balanced course load includes both technical courses
(computing, mathematics, science) and humanities courses with reading and writing.




21
Plan your load. The average load students take is 15 credits per semester (for instance
five 3-credit courses); with such a load you can complete the 120-credit college requirement
and graduate in eight semesters (four years). Notice that 12 credits per semester are
required in order to maintain the full-time status that is needed for some types of financial
aid. Any load bigger than 18 credits is considered heavy and requires a 3.0 or higher
cumulative GPA, filling out an Authorization to Register for Credit Hour Overload form,
permission from the department chair, and approval by the dean.

Summer and winter sessions. If you wish to graduate sooner than four years, you can
take courses during summer and winter sessions. CSC121 Introduction to Computing and the
Web and many Gen-Ed courses and math courses are available during these sessions.
CSC498 Internship may be taken, too. Notice however that other CSC courses are not offered
during these sessions.

Fundamental CSC courses. Take the following courses during the freshman year or as
early as possible -- they are prerequisites for all other CSC courses.

     • CSC119 (1 cr.) Introduction to UNIX/Linux -- Required for both IT and CS; this course
       will make you a comfortable user of UNIX/Linux computers. It takes the first five
       weeks of the semester, and it can be taken concurrently with courses in which
       students work in the Linux environment.
     • CSC121 (3 cr.) Introduction to Computing and the Web -- This course needs to be
       taken by all IT majors and those CS majors who have not had exposure to computer
       programming in high school so that they can later take CSC221.
     • CSC217 (3 cr.) Discrete Math with Computer Applications -- Required for both IT and
       CS. Notice that it has a prerequisite of MAT102 Calculus, so you may need to take
       that first.
     • CSC221 (3 cr.) Introduction to Programming (in Python) -- Required for both IT and
       CS. This is the core course for CS and IT -- mastering its material is essential for your
       success.

Plan ahead. Since not all courses are taught each semester, it is a good idea to plan
when you will take each required course so that you can complete prerequisite courses in
time. Print out Projections of CSC Course Offerings and use it together with your CAPP report
to make a plan for the rest of your studies.

Placement and proficiency exams. Placement exams are offered in English and Math --
If you take these exams, you will be placed in a course at an appropriate level. There is a
proficiency exam in Library Skills -- you can take this exam to test out of LIB105. There is
also a foreign language exam that will place you at an appropriate level or out of the
requirement.

Learning skills courses. Complete the following required GenEd courses during the
freshman year or as early as possible:

     • ENG101 (3 cr.) -- Writing ability is critical. Freshmen will take a writing exam during
       orientation and will be placed in either ENG100 or ENG101 based on this exam.
     • COM101 (3 cr.) -- Our graduates tell us that public presentations and communication
       within a work group are always a part of their professional work. COM101 gives you
       practice in public speaking. You will continue to develop this skill in some of upper
       division CSC courses.



                                                                                             22
     • LIB105 (1 cr.) -- Learn to use current tools to find information. The course can be
       taken on-line or in a classroom. Alternatively, you can study on your own and take
       the LIB Proficiency Exam.

How many more semesters before graduating? Work with your CAPP report.
     • Look up Cumulative Credits in your CAPP report. Determine how many more are
        needed to complete the 120 credits required for graduation.
     • Look up Upper Level Credits in your CAPP report. Determine how many more are
        needed to complete the 42 credits required for graduation.
     • Look up your major(s), minor(s) (if any) and GenEd requirements in the CAPP report.
        Determine how many more credits are needed to complete their requirements.
Take the biggest of the numbers above; If you are taking 15 credits per semester, divide it
by 15 -- you need at least that many semesters.

CS or IT minor. Consider a minor to strengthen your degree. If your major is in CS you
may add the IT minor. If your major is in IT you may add the CS minor. In either case, at least
12 out of 18 credits for the minor must be in courses not counted for the major but there can
be an overlap of up to 6 credits. To declare a minor fill out Declaration or Change of Major/
Minor/Advisor Form and give it to the Chair of the Department.

Interdisciplnary minors in bioinformatics and in Web design. If you have interest in
biology, you can enhance your Computer Science major with a Bioinformatics minor. If you
like art or writing you can declare Web Design and Programming Minor that involves courses
from Art, Communication and Journalism departments, among others. Some students
declare multiple minors.

Math courses. Math is very useful in computer science, although substantially less math
is needed in IT. If you like math, consider taking the math minor. Due to a big overlap in
requirements between this minor and the computer science major, you can complete a math
minor by taking just a few additional courses. Even if you do not take the math minor,
consider taking the following courses.

     • MAT228 (4cr) or MAT224 (4cr) or HON144 (3-4 cr.) Calculus instead of the weaker
       version MAT221 (3cr).
     • MAT225 (4cr) Calculus II instead of the weaker version MAT222 (3cr).
     • MAT202 Linear Algebra I (this has a prerequisite of MAT224.) Recommended for
       CSC451 Computer Graphics.
     • MAT326 Calculus III (this has a prerequisite of MAT225.) Recommended (but not
       required) for CSC451 Computer Graphics.
     • MAT161 Introductory Statistics.
     • MAT361 Probability and Statistics (prerequisite: MAT326.) This course provides the
       tools to understand in greater depth the time and space complexity of algorithms
       that arise in computer science and behavior of data flow through networks, and
       more generally queuing theory. This course is useful if you plan to study computing
       at a graduate level.

Natural science courses. We recommend that you take either physics or biology or
chemistry to meet your General Education Natural Science requirement. Physics is
recommended for students interested in low level computing and embedded systems; If you
complete PHY112 you will have the prerequisite for advanced courses such as PHY350
Circuits and Electronics and PHY365 Electronics for Scientists which relate to computer


23
hardware engineering. Bioinformatics applies computer science to problems of genome
mapping with information retrieval and protein and enzyme modelling; completing BIO101
or CHE112 you will give you one of the prerequisites for BIO341 DNA and Bioinformatics.

Foreign languages. Knowing a foreign language can help you get a better job and will be
very useful in your career. Even if the Gen-Ed program allows you to fulfill the requirement
by taking a course on culture (World Systems) instead of a language course, consider what
is most useful for your career. We recommend completing a foreign language course with
the number 112 or 150, which have as prerequisites a language course with number 111, or
a score of 85 or higher on the Regents Exam, or placement by examination.

College electives.        The college requires 120 credits for an undergraduate degree.
Fulfilling all the CS/IT major requirements and Gen-Ed requirements will not give you that
many credits. To make up the difference consider taking non-required CSC courses -- in this
way you can further strengthen your knowledge and skills in computer science and
information technology.

Upper level credit requirement. At the end of your CAPP report you will find
information on how many upper level (300- or 400-level) credits you have accumulated out
of the 42 required for graduation.

500-level courses. Some 400-level courses are also offered in a 500-level version, i.e. at
the graduate level. They are similar to the corresponding 400-level courses, but contain in
addition graduate assignments or projects as decided by the instructor. These courses may
be transferable to a graduate program at the discretion of the other university. Even if you
do not transfer these courses, they can be taken for their challenge and to learn more about
the subject. Graduate courses are open only to SUNY Plattsburgh graduate students or
undergraduates who are within 15 credits of graduation. Undergraduate students can
receive credit for a graduate CSC course only if they have not received credit for its
undergraduate counterpart. To register for a 500-level course, you need to fill out an
Authorization for an Undergraduate Student to Take a Graduate Course form and obtain
permission of the instructor.

Apply for the diploma. In your senior year, right after registering for courses for your
final semester, fill out the Diploma Application Form and return it to the Registrar. The
Registrar will then check your academic records to determine if you satisfied all
requirements for graduation, and will notify you about the conclusion. Do not delay the
application for the diploma -- if there is any requirement you missed and/or any error on the
CAPP report, you need to learn about it when there is still time to fulfill the requirement.

Plan your schedule to allow for extracurricular activities. Every week CS&IT
students, faculty and other interested persons meet for Video and Discussion.

Consider going to a graduate school. Additional career possibilities become available if
you complete a graduate degree. The CS major or CS major with an IT minor will prepare you
for graduate studies in any computer-related area. Our alumni who have gone on to
graduate studies in computing tell us that it is useful to complete an advanced probability
and statistics course, such as mat361. In most cases you can take such a course in graduate
school, but you may prefer to take it in advance.




                                                                                           24
Distinguish Yourself

Scholarships, many forms of financial aid, teaching assistantships, sponsored undergraduate
summer research programs, internships, graduate school admissions and jobs are all
competitive. To increase your chances you need to distinguish yourself in some of the
following categories:

     •   Depth of knowledge in CS/IT
     •   Breadth of knowledge in CS/IT
     •   Interdisciplinary knowledge
     •   Excellence
     •   Problem solving skills
     •   Communication skills
     •   Service
     •   Leadership

In May 2010, twenty-one of our CS or IT majors were placed on the Dean's List, five
graduated Cum Laude, Magna Cum Laude or Summa Cum Laude, one graduated with the
Honors Medallion, at least three were accepted in graduate programs at top universities:
Cornell, University of Copenhagen and SUNY Albany -- with merit scholarships or
assistantships, and several of our juniors and seniors participated last summer in
undergraduate research programs around the country.

Set high goals for yourself when you are a freshman -- when there is still time to accomplish
them before graduation. Consider the following -- any of these items would be worth
mentioning on your job or graduate school application. Talk to your academic adviser -- all
Computer Science faculty will be happy to assist you in achieving excellence and
professional success.

     • Declare a minor or a second major;
     • Take CSC courses beyond the requirements of your major (what counts most in your
       career is the actual knowledge and skills);
     • If you have a cummulative GPA of 3.5 or higher, apply to the Honors Program,
             ◦ complete General or Advanced Honors to graduate with an Honors
               Medallion;
             ◦ do an Advanced Honors Project -- write an undergraduate thesis;
     • Prepare for and take part in intercollegiate programming contests;
     • Choose topics and lead discussions at the Video and Discussion hour;
     • Become a CS&IT teaching assistant (TA);
     • Become a tutor at the Learning Center helping others with CSC courses;
     • Become an Orientation Leader or a Student Ambassador,
     • Apply to summer programs of Research Experience for Undergraduates (REU);
     • While in your junior or senior year ask faculty members about possibilities of
       independent study(CSC399/499) or undergraduate research (CSC495); work on a
       conference presentation or a publication;
     • Take graduate CSC courses when you are within 15 credits of your undergraduate
       degree;



25
     • Apply for internships with major government agencies, leading academic institutions
       and international corporations using resources of Career Development Center;
     • Aspire to awards given by the Computer Science Department. All CS&IT majors at
       the junior and senior level are considered for these awards without an application.
       GPA in the CS or IT major and leadership among CS&IT students are the main
       criteria:
             ◦ Hudson Scholarship (for juniors),
             ◦ CS&IT Academic Excellence and Outstanding Achievement Award, (also to
                 recognize undergraduate research and achievement in programming
                 contests),
             ◦ CS&IT Leadership Award -- to recognize activities in support of the computer
                 science and information technology community, such as leadership in
                 student activities related to computing,
             ◦ CS&IT Outstanding Graduate Award;
     • Apply for SUNY Plattsburgh Presidential Scholarship and SUNY Chancellor Awards;
     • Apply for CAS Student Academic Travel Grants to travel to professional conferences
       where you present a poster and to programming contests;
     • Keep your GPA up
             ◦ to be placed on Dean's List every semester (semester GPA of 3.5 or higher
                 required),
             ◦ to become invited to Phi Kappa Phi Honor Society, SUNY Plattsburgh's
                 Chapter that recognizes academic excellence (for juniors and seniors with a
                 GPA in the top 5-10%),
             ◦ to graduate Cum Laude (GPA 3.4), Magna Cum Laude (GPA 3.7), or Summa
                 Cum Laude (GPA 3.9).
     • Join the Student Association;
     • Aspire to be the commencement student speaker at your graduation;
     • Engage in undergraduate research and prepare poster presentations for the Student
       Research Symposium (held every April at our college). Participate in other activities
       of Sigma Xi Scientific Research Society, SUNY Plattsburgh Chapter. (Contacts: Dr.
       Chris Martine, Biology, Beaumont Hall 0401A, (518)564-5277 and Dr. Ken Podolak,
       Physics, Beaumont Hall 0412 (518)564-3193).



Internships

Internships provide valuable work experience prior to graduation and allow students to
establish future employment contacts. The internship program is an opportunity for you to
gain practical experience and technical skills in an area of computing that interests you. Our
student interns typically work in the same roles in which they would work after graduation:

     • Software developer or computer programmer:
            ◦ system programmer
            ◦ network programmer
            ◦ web programmer
            ◦ graphic user interface programmer
     • Computer hardware or network technician
     • Administrator:
            ◦ system administrator



                                                                                           26
             ◦   network administrator
             ◦   database administrator
             ◦   web-server administrator

Some on-campus internships are available at our department, others at Computing and
Media Services or Computer Information Systems Department. Off-campus internships are
offered by many companies and government agencies. See Dr. Delbert Hart in our
department to get started. If you are interested in off-campus internships, consult the Career
Development Center on campus. Persons on a student visa should consult with International
Student Services about participating in an off-campus internship.

It is essential to plan and prepare early in your college career for the kind of experience you
desire. Contact the Career Development Center and Dr. Hart to learn more about knowledge
and skills that will be useful.

Internships are limited to students who have at least 6 credits in upper level CSC courses.
The internship proposal form must be approved by the Computer Science Department and
students must be registered for CSC498 before starting an internship. The number of credits
awarded is 1-15 and is determined based upon the planned experiences. The campus policy
requires at least 45 hours of effort per credit.



What Do Our Interns Say About Their Internships?
Ugo Iromantu: My internship opened doors to professional software development. During
my final semester at Plattsburgh State, I worked as an Intern at Nexnevo Consulting, Inc. At
Nexnevo, I helped develop ASP.NET Web Applications and Enterprise XML Web Services. This
afforded me the opportunity to apply much of the knowledge I had gained at Plattsburgh
State and also opened a door to professional software development with modern technology.
Needless to say, working at Nexnevo was a very fulfilling experience.

Chris Arena: I set up a Book Exchange website for our Student Association so that students
could buy and sell their used textbooks directly to one another. This involved building a
content-driven website (like Amazon.com).



Teaching Assistantships

Students who are interested in being a Teaching Assistant (TA) for a particular course can
talk to the instructor and, if approved, enroll in csc496 Instructional Practicum (1-2 cr.); You
can take up to 6 credits of TA-ships during your studies. TAs work 45 hours per credit
performing tutoring and course material reviews during specially scheduled sessions,
helping students during computer lab sessions scheduled as part of the course, providing
feedback on student's work and assisting instructors in preparation of lab materials. TA-ships
are competitive; To be considered for a TA-ship for a particular course the student must have
completed this course with an A or demonstrate in another way high proficiency in the
course subject matter. Also, maturity, reliability and good communication skills are required.
A TA-ship for the same course may be repeated a second and third time with the approval of
the department chair.



27
Computing Services and Facilities
Single username and password.         Every student at SUNY Plattsburgh receives a
username and chooses a password. The same username and password are used for most
computing services on campus, including login to the computers in the Feinberg main lab,
CS&IT lab and CS&IT mini-lab, remote logins to the departmental Linux servers, campus
email, campus information services (MyPlattsburgh/Banner) and course management
system (Angel/Moodle).

CS&IT Lab -- Hawkins 053B.         This lab has 40 Linux workstations and a high-speed laser
printer. Students are provided with accounts and network file storage in a Linux
environment. A user will have the same environment and will have access to the same
directories and files independently of which lab machine is used. The lab is used for both
individual work of the students and classes. It is open 7:00-22:00 whenever the Hawkins
building is open -- this means when classes are held and during examination sessions, and
on some, but not all, Saturdays and Sundays with possibly shorter hours. An id card swipe
machine allows access by only CS and IT majors and students currently enrolled in CSC
courses. During scheduled classes, students not enrolled in the class can do their individual
work in the lab provided that a workstation is available and that they ask the instructor and
receive permission.

CS&IT Mini-Lab -- Redcay 141A. This lab has seven Linux workstations and a laser
printer. It is adjacent to faculty offices so that students can receive individual attention when
they work on programming. The Mini-Lab is often used by study groups or to develop team
projects. Computer accounts are given only to Computer Science and IT majors and students
currently enrolled in CSC courses. Every machine gives access to the same environment and
the same user directories and files as the machines in the CS&IT Lab. Some books on
programming and Linux are available. The lab is open the same hours as the Redcay
Building: Monday-Thursday 6:00-22:00 and on Fridays 6:00-17:00 (only when classes are
held or during the examination week, but not during holidays and breaks).

CS&IT Research Lab -- Redcay 155C. This lab has three servers and three workstations
running Linux, switches and a printer. It is adjacent to faculty offices. This is where some of
the best CS/IT students work in Undergraduate Research (CSC495) or Independent Study
(CSC199/299/399/499) courses on topics related to networking and security.

CS&IT Commons -- Redcay 143. This room is used by study groups to conduct
discussions or tutoring and for faculty and student meetings. It can accommodate about 10
people. A whiteboard, some computer science books and journals, and TV, VCR, DVD are
available for watching educational programs. The room is adjacent to departmental offices
and the CS&IT Mini-Lab, which facilitates consultation with faculty and access to computers.

Feinberg Computer Labs. These labs are located on the first and third floors of the
Feinberg Library Building. They contain Windows computers and are used for individual work
by all college students. The labs are open seven days a week -- for detailed hours see the
lab webpage. Putty (ssh), FileZilla (sftp) and Xming (X-server software) are installed on some
computers to facilitate access to the Computer Science Department's Linux servers. Also,
Python 3 and Idle are installed on some lab computers.



                                                                                              28
Remote access to CS&IT Linux servers. Students who have accounts in the CS&IT Lab
can connect with ssh and sftp from both on-campus and off-campus computers (running any
operating system) to the departmental Linux server, student.cs.plattsburgh.edu. The server
gives access to the same user directories and files as the machines in the CS&IT Lab. For
users who run Windows on their computers, we recommend Putty (ssh) for interactive work
on the servers, and WinSCP or FileZilla (sftp) to transfer files. If you install Xming (X-server
software), you can run graphic software from the server.

CS&IT Student Wiki. Students and faculty edit wiki pages to communicate up-to-date
information on topics of Video and Discussion, opportunities in Research Experience for
Undergraduates, software help, student activities, etc.

Web hosting.     Students can create own websites at http://student.plattsburgh.edu.

Helpdesk. Computing and Media Services Department maintains computers used by the
college for academic purposes, except CS&IT facilities. For help with the software or
hardware on campus please call the Helpdesk at 564-4433.

Other technology services. You may contact the Helpdesk with any questions on the
following.
      • Wireless Network is available in all buildings and in many outside locations on
        campus.
      • Cardinal Computer Care provides low cost repairs of computers.
      • Resnet provides networking in residential halls.
      • What to look for when buying a computer.



Video and Discussion
We invite students, faculty and all interested persons to bring their lunch and watch together
videos on topics of computing, math, science, engineering and related social and
philosophical issues. During the fall 2012 semester the meetings will be held every
Tuesday, 12:30-1:20, in Hawkins 053 B, except holidays and breaks. For the detailed
program or to suggest a video, please visit CS&IT Student Wiki. This is a free weekly event
open to the public. Feel free to share this information with all interested persons.




29
Beginnings of the Computer Science
Department, SUNY Plattsburgh,
College of Arts and Science


as remembered by
Julius A. Archibald, Jr., Professor Emeritus
In the late 1960's, Dr. Harold J. Perkins, Dean of the Faculty of Science and Mathematics at
that time, was approached by concerned members of the faculty, led by Dr. George F. Sheats
of the Department of Chemistry and Dr. Paul P. Szydlik of the Department of Physics and
Earth Science, with a recommendation that instruction in digital electronic computation (i.e.,
computer science) be offered at Plattsburgh. Their rationale was that the offering of such
instruction was needed not only as a complement to the existing programs in chemistry and
physics, but also, and more importantly, to maintain the currency of the overall academic
programs of the college. Dr. Perkins was convinced by these arguments.

There was also interest elsewhere on campus, from the Department of Biological Sciences
and the Department of Mathematics in the Faculty of Science and Mathematics, from the
Department of Business and Economics in the Faculty of Social Sciences, and from the
Department of Education in the Faculty of Professional Studies. A decision was made not to
offer computer science instruction through the Department of Mathematics. It was for this
reason that Dr. Perkins found it necessary to create an independent Department of
Computer Science. He invited the original petitioners, all of whom were full-time faculty
members and many of whom were tenured, to serve as part-time members of the new
department as a part of their overall commitment to the college, with Dr. Sheats (a former
chair of the Department of Chemistry) as the chair. This happened during the 1969-1970
academic year.

The first instruction offered by the new Department of Computer Science occurred in the
spring of 1970. It was course CSC350 (FORTRAN Programming) offered in a lecture-recitation
format. The lecturer was a part-time visiting instructor from Montreal, with two recitation
sections being handled by Drs. Sheats and Szydlik. Whether or not there was actual
computer support at that time, using the small IBM 1440 computer operated by the college
administration, is unknown to this writer.

During the spring and summer of 1970, this writer (a mathematician by training and a
computational scientist with the General Electric Company) and Dr. Meyer Katzper (a
physicist and computational scientist with industry) were recruited to serve as full-time
members of the new Department of Computer Science with responsibilities for the total
instructional program. Instruction was offered "in-house" in the fall of 1970, in both CSC350
(two lecture sections, both with additional recitation sections) and CSC470 (Numerical
Methods), with computer support on the IBM 1440. The faculty members from other
departments, originally appointed to the department on a part-time basis by Dr. Perkins
(including Dr. Sheats as chair), continued to serve in those capacities, thereby making it


                                                                                           30
possible for the internal administrative responsibilities usually associated with independent
academic departments to take place. Dr. Katzper returned to private industry in 1973. Dr.
Sheats remained as chair through the 1973-1974 academic year, at which time the chair
was assumed by this writer.

It is this writer's recollection that computer science was first approved as a major during the
1973-1974 academic year, with the first majors who already accumulated a number of
computer science courses, graduating in 1974. Over the last 40 years the department has
prepared thousands of students for careers in computer science and information technology.




31
Computer Science Faculty and Staff

Full-Time Faculty

                    Dr. Salvador Gutierrez
                    Associate Professor
                    Office: Redcay Hall 155D
                    Phone: (518) 564-2778
                    E-mail: salvador.gutierrez@plattsburgh.edu
                    Faculty website: http://faculty.plattsburgh.edu/salvador.gutierrez

                    Dr. Delbert Hart
                    Associate Professor
                    Office: Redcay Hall 149
                    Phone: (518) 564-2775
                    E-mail: delbert.hart@plattsburgh.edu


                    Dr. Jan Plaza
                    Associate Professor and Department Chair
                    Office: Redcay 145
                    Phone: (518) 564-2781
                    E-mail: jan.plaza@plattsburgh.edu
                    Faculty Website: http://faculty.plattsburgh.edu/jan.plaza

                    Visiting Assistant Professor
                    Office: Redcay Hall 147
                    Phone: (518) 564-2782


Part-Time Faculty

                    Thomas Burl
                    Adjunct Lecturer
                    Office: Feinberg Library 308A
                    Phone: (518) 564-5237
                    E-mail: thomas.burl@plattsburgh.edu



                    Dr. Stewart Denenberg
                    Professor Emeritus
                    Office: Redcay 155C
                    Phone: (518) 564-2783 x 3
                    E-mail: stewart.denenberg@plattsburgh.edu




                                                                                         32
                  Jeremy Dumont
                  Adjunct Lecturer
                  Office: Redcay 155C
                  Phone: (518) 564-2783 x 1
                  E-mail: jeremy.dumont@plattsburgh.edu



                  T. J. Warren
                  Adjunct Lecturer
                  Office: Redcay 155C
                  Phone: (518) 564-2783 x 2
                  E-mail: warr1981@plattsburgh.edu



Staff

                  Laura Collier
                  Secretary
                  Office: Redcay 103
                  Phone: (518) 564-2788
                  E-mail: laura.collier@plattsburgh.edu



Faculty Emeriti

                  Julius Archibald
                  Professor Emeritus
                  E-mail: julius.archibald@plattsburgh.edu




                  Dr. Lonnie Fairchild
                  Professor Emeritus
                  E-mail: lonnie.fairchild@plattsburgh.edu




                  Dr. William Teter
                  Professor Emeritus
                  E-mail: william.teter@plattsburgh.edu




33
Contact Information


Computer Science Department
We will be glad to answer your questions about Computer Science or Information Technology
Programs, course transfers, internships, etc.

Phones, fax, URL, e-mails
(518) 564 2788 (phone)
(800) 256 6796 (toll-free phone)
(518) 564 3010 (fax)
http://www.cs.plattsburgh.edu/~plazaja/department/ (URL)
csc@plattsburgh.edu (email, chair)

Mailing address
SUNY Plattsburgh
Computer Science Department
101 Broad Street
Plattsburgh, NY 12901
USA

Location on campus
Redcay Hall, Room 103 - Secretary, Room 145 - Department Chair
Beekman Street (opposite Hawkins Hall, between Brinkerhoff Street and Court Street.)



Admissions Office
Open
Monday-Friday, 8:00 a.m. - 4:30 p.m.

Phones, fax, URL and email
(518) 564-2040 (phone)
(888) 673-0012 (toll-free phone)
(518) 564-2045 (fax)
http://web.plattsburgh.edu/admissions/apply.php (URL)
admissions@plattsburgh.edu (email)

Mailing address
Richard Higgins, Director of Admissions
SUNY Plattsburgh
101 Broad Street
Plattsburgh, NY 12901

Location on campus
10th floor of the Kehoe Building.


                                                                                       34
2012-07-13

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:2
posted:8/5/2012
language:
pages:38