Skip Navigation

Department of Computer Science

208 Faculty Office Building
(585) 395-2146
Fax: (585) 395-2304
www.brockport.edu/cs

Chair and Professor: Kadathur B. Lakshmanan; Professors: Kulathur S. Rajasethupathy, Thambrahalli M. Rao; Associate Professors: Joan M. Lucas, Sandeep R. Mitra, Anthony Scime; Assistant Professors: Vishal Anand, Wan Huang, Alexander R. Yakhnis; Lecturer: Daniel F. Rogers

Bar

Bar

Computer science is the study of the theory and practice of computation. It incorporates aspects of several other fields: mathematics, to analyze the properties of algorithms and data structures; engineering, to design and construct practical programs and machines; the experimental sciences, both to investigate the behavior of programs running on real machines and to use programs for modeling scientific phenomena; and the cognitive sciences, to develop “intelligent” programs and to study computation in relation to human intelligence.

Computer science is a young and rapidly developing field. Presently its chief areas, reflected in regular course offerings at SUNY Brockport, are: programming methodology, design and analysis of algorithms, software engineering, programming languages, database systems, e-commerce, computer architecture, systems programming, computer security, artificial intelligence, and networking. Other areas are covered in independent study and topics courses. In addition, students can gain valuable job experience through the Computer Science Internship program and the Brockport Co-operative Education program.

The computer science major provides students with an excellent basis for a variety of careers and for graduate study. Possible careers include programming, system analysis and design, maintenance, management and user support of software in areas such as business, science, engineering, and computer systems. Fields of graduate study, for which a double major with mathematics is advisable, include not only computer science, but mathematics, information management, and various areas of science and engineering.

The student interested in computer science has several options to choose from: a major in computer science in the software development (SD) track, the more rigorous advanced computing (AC) track, which is accredited by Computing Accreditation Commission [CAC] of ABET, or the information systems (IS) track; a double major in computer science and another discipline such as mathematics or business administration; and a minor in computer science and a minor in computer information systems. Students majoring in computer science have the option of switching from one track to another at any time.

Major in Computer Science

1. Advanced Computing Track of the Computer Science Major (67 credits)
(Accredited by Computing Accreditation Commission [CAC] of ABET)

For a major in computer science in the AC track a student must complete the following 67 credits of computer science and mathematics and science courses with an average grade of “C” or better. In addition, the grade for each of CSC 203, 205, and 311 must be “C” or ­better.

A. Core Courses (37 credits)
Credits
  CSC 203 Fundamentals of Computer Science I
4
  CSC 205 Fundamentals of Computer Science II
4
  CSC 303 Digital Logic and Computer Design
3
  CSC 311 Computer Organization and Assembly Language Programming
4
  CSC 401 Theory of Programming Languages
3
  CSC 406 Algorithms and Data Structures
4
  CSC 411 Computer Architecture
3
  CSC 412 Operating Systems
3
  CSC 427 Software Engineering
3
  CSC 483 Theory of Computation
3
  CSC 486 Junior/Senior Seminar
3
   
B. Elective courses (9 credits)
  300/400-level CSC courses selected under advisement. Restrictions apply. See notes below.
9
   
C. Mathematics Corequisites (9 credits)
  MTH 202 Calculus II*
3
  MTH 346 Probability and Statistics I
3
  MTH 481 Discrete Mathematics II*
3
  *Prerequisites for MTH 202 and MTH 481 are
  MTH 201 Calculus I (3 credits)
  MTH 281 Discrete Mathematics I (3 credits)  
D. Science Corequisites (12 credits)
12
 

(i) A two-semester sequence in a lab science for science/engineering majors. For example, PHS 201–202, CHM 205–206, BIO 201–202, ESC 211–311, GEL 201–302.

 

(ii) Each remaining course must be a course in science or a course that enhances the student’s abilities in the application of the scientific method. Each course must be a course for cience/engineering majors or a course with a strong emphasis on quantitative methods.

  Total:
67

Credits including prerequisites CSC 120, MTH 201, MTH 281 Total: 76

Notes:

  1. A student must take at a minimum of 30 credits in non-mathematics, non-science courses, a minimum of 15 credits in mathematics courses, and a minimum of 30 credits in mathematics and science courses.
  2. At most three credits from any course numbered CSC 490-499 may be used to satisfy the major elective requirement.
  3. At least 18 of the credits used to satisfy the core or elective requirements in the major must be earned at SUNY Brockport.
  4. A maximum of six credits can be earned by “credit by portfolio assessment,” and a maximum of six credits can be earned by “departmental credit by examination.”

2. Software Development Track of the Computer Science Major (43 credits)
For a major in computer science in the SD track, a student must complete the following 43 credits of computer science and mathematics courses with an average grade of “C” or better. In addition, the grade for each of CSC 203, 205 and 311 must be “C” or better.

A. Core Courses (28 credits)
Credits
  CSC 203 Fundamentals of Computer Science I
4
  CSC 205 Fundamentals of Computer Science II
4
  CSC 303 Digital Logic and Computer Design
3
  CSC 311 Computer Organization and Assembly Language Programming
4
  CSC 401 Theory of Programming Languages
3
  CSC 406 Algorithms and Data Structures
4
  CSC 411 Computer Architecture
3
  CSC 486 Junior/Senior Seminar
3
   
B. Elective courses (12 credits)
  300/400-level CSC courses selected under advisement Restrictions apply. See Notes below.
12
   
C. Mathematics Corequisite (3 credits)
  MTH 481 Discrete Mathematics II*
3
  *Prerequisites for MTH 481 are
  MTH 201 Calculus I (3 credits)
  MTH 281 Discrete Mathematics I (3 credits)
   
  Total
43
  Credits including prerequisites CSC 120, MTH 201, MTH 281
52

Notes:

  1. At most three credits from courses numbered 490–499 may be counted toward the elective requirement. In addition, at most, one of MTH 461, MTH 462 and MTH 471 may be counted toward elective requirements.
  2. A minimum of 18 of the credits used to satisfy the core or elective requirements for the computer science major must be earned at SUNY Brockport.
  3. A maximum of six credits can be earned by “credit by portfolio assessment,” and a maximum of six credits by “departmental credit by examination.”

3. Information Systems Track in the Computer Science Major (47 credits)
For a major in computer science in the IS track, a student must complete the following 47 credits of computer science, computer information systems, accounting, business and mathematics courses with an average grade of “C” or better. In addition, the grade for each of CSC 203, CSC 205, CIS 202, and CIS 303 must be “C” or better. Other restrictions apply; see Notes below.

A. Core Courses (41 credits)
Credits
  CSC 203 Fundamentals of Computer Science I
4
 

CSC 205 Fundamentals of Computer Science II

4
  CSC 486 Junior/Senior Seminar
3
  CIS 202 Fundamentals of Information Systems
3
  CIS 303 Information Technology Hardware and Software
3
  CIS 304 Computers and Office Productivity (or BUS 317)
3
  CIS 317 Analysis and Logical Design of Information Systems (or BUS 417)
3
  CIS 419 Computer Networks and Internet Applications
3
  CIS 422 Physical Design and Implementation with DBMS
3
  CIS 427 Project Management and Practice
3
  ACC 280 Introduction to Accounting
3
  MTH 243 Elementary Statistics (or ECN 204)
3
  MTH 281 Discrete Mathematics I
3
   
B. Elective Courses (6 credits)
6
  CIS 334 Decision Support and Expert Systems
  CIS 404 Multimedia Applications
  MTH 441 Statistical Methods I
  MTH 461 Math Models for Decision Making I
  BUS 461 Production and Operations Management
  BUS 464 Electronic Commerce and Entrepreneurship
  300/400-level CSC courses selected under advisement. Restrictions apply. See Notes below.
   
  Total:
47
  Credits including prerequisites CSC 104, CSC 120, MTH 122 Total:
56

Notes:

  1. At most, three credits from the following group of courses can be counted towards the major elective requirement: MTH 441, MTH 461, BUS 461, BUS 464, and any CIS course numbered 490 or above.
  2. The following CSC courses are NOT allowed as CIS electives: all 100/200-level CSC courses, CSC 303, CSC 304, CSC 311, CSC 411, CSC 419, CSC 422, CSC 427, CSC 434, and all CSC courses numbered 490 and above.
  3. At least 18 of the credits used to satisfy the core or elective requirements in the major must be earned at SUNY Brockport.
  4. A maximum of six credits can be earned by “credit by portfolio assessment,” and a maximum of six credits can be earned by “departmental credit by examination.”

Minor in Computer Science
For a minor in computer science, a student must complete the following 20 credits of computer science courses, of which at least half of the credits must be taken at SUNY Brockport. Note that the prerequisite courses are CSC 120, MTH 122, and MTH 281.

A. Core courses (8 credits)
Credits
  CSC 203 Fundamentals of Computer Science I
4
  CSC 205 Fundamentals of Computer Science II
4
B. Elective Courses (12 credits)
  Four CSC courses at the 300 level or above
12
  Total
20

Minor in Computer Information Systems
For a minor in computer information systems, a student must complete the following 19 credits of CSC and CIS courses, of which at least half of the credits must be taken at SUNY Brockport. Note that the prerequisite courses are CSC 104, CSC 120 and MTH 122.

A. Core courses (13 credits)
Credits
  CSC 203 Fundamentals of Computer Science I
4
  CIS 202 Fundamentals of Information Systems
3
  CIS 304 Computers and Office Productivity (or BUS 317)
3
  CIS 317 Analysis and Logical Design of Information Systems (or BUS 417)
3
B. Elective courses (6 credits)
  Any 300 or higher CIS course
  CSC 205 Fundamentals of Computer Science II
  Any elective CSC course allowed for IS track majors
6
  Total:
19

Note: For additional and updated information on the computer science program, see the Computer Science Handbook , available in the Department of Computer Science office.

Computer Science Courses

CIS 106 End-User Computing (A,T). Develops students' acumen in key end-user computing technologies, to a level that will allow students to utilize technology successfully in the workplace and to meet the contemporary expectations of employers. Includes topics such as word processing, operating systems, spreadsheets, office presentation, network applications, and databases. Requires extensive lab work. 3 Cr. Every Semester

CIS 202 Fundamentals of Information Systems (A). Prerequisites: CSC 104 or CIS 106. Introduces the use of information systems and information technology in organizations. Considers concepts of information management, systems theory, quality, enhanced decision making, and added value in products and services. Stresses information technology, including computing and telecommunications systems. Teaches students to analyze requirements, define an information system, and develop custom solutions to enhance productivity. 3 Cr. Every Semester

CIS 295 Topics in Computer Information Systems (A). Prerequisites: Published prior to registration each semester. Addresses current topics in the field at an introductory level. Each offering of the course is motivated by the expertise of the instructor and by students' interests. Descriptions and prerequisites are published prior to the registration period for the course. Example topic: information technology hardware and software laboratory. 1-3 Cr. By Arrangement

CIS 303 Information Technology Hardware and Software (A). Prerequisites: CIS 202 and MTH 281. Covers both hardware and software components of computer systems. Examines the basic elements of a computer system, including CPU architecture, memory, buses, instruction sets, multi-processors, hard disks, CDs, backup storage, video displays, I/O devices, and networks. Also covers in theoretical terms system software, particularly in how it relates to the computer hardware. Includes these topics: assembly language; operating systems; process, file, and memory management; networks and multi-user systems. 3 Cr. Every Semester

CIS 304 Computers and Office Productivity (A). Prerequisites: CSC 120 and either CSC 104 or CIS 106. Studies computer-mediated office communication and business data processing. Includes topics such as guidelines for buying office computers, operating systems and graphical user interfaces, word processing, desktop publishing, grammar and style checkers, office presentations, multimedia documents, spreadsheets with advanced applications, business charts, Internet and intranet, e-mail, World Wide Web, search engines, Web publishing, and copyright and ethical issues. Requires extensive lab work. 3 Cr. Every Semester

CIS 317 Analysis and Logical Design of Information Systems (A). Prerequisites: CIS 202; CSC 203 and either CIS 304 or BUS 317. Studies requirement analysis, system development and modification process. Includes topics such as lifecycle phases and the role of systems analyst; organizational style, feasibility and impact of information systems; requirements analysis, sampling and investigating data, interviewing; data flow diagrams, data dictionaries, preparing and writing proposals; prototyping, designing for effective input and output, user interface; software metrics, quality assurance, and software package evaluation and acquisition. 3 Cr. Fall

CIS 334 Decision Support and Expert Systems (A). Prerequisites: CIS 202 and CSC 203. Covers Decision Support Systems (DSS) and its subsystems: DSS overview, data management, modeling and model management, knowledge subsystem, user interface subsystem, group decision support systems, executive information and support systems, fundamentals of artificial intelligence, expert systems, knowledge acquisition and validation, knowledge representation, and expert system building tools. 3 Cr. Fall

CIS 404 Multimedia Applications (A). Prerequisites: CIS 303 and CIS 304. Studies multimedia systems and applications in the business world. Includes topics such as multimedia applications, hypertext and hypermedia, audio, graphics, images, and full motion video; multimedia-ready personal computers and workstations, storage devices, operating systems and graphical user interfaces; communication and networking requirements, multimedia applications on the Internet; file formats, data compression and streaming audio/video; and multimedia authoring tools. 3 Cr. Spring

CIS 419 Computer Networks and Internet Applications (A). Prerequisites: CSC 203; CIS 303 and either CIS 304 or BUS 317. Studies data communication, computer networks, and Internet applications. Includes topics such as data communication, LAN and WAN applications, Internet and intranet, e-mail, FTP and Web applications, distributed systems, standards; communication concepts, media, coding of data, error control, LAN topologies and protocols, bridges, routers and gateways; TCP/IP, client server paradigm; network configuration, performance monitoring, management, security, and reliability. 3 Cr. Fall

CIS 422 Physical Design and Implementation with DBMS (A). Prerequisites: CIS 317 or BUS 417. Covers information systems design and implementation within a database management system environment. Requires students to design and construct a physical system using database software to implement the logical design. Stresses basic knowledge of normalization of data modeling, database methods, database design, and the use of databases in business. 3 Cr. Spring

CIS 427 Project Management and Practice (A). Prerequisites: CIS 317 or BUS 417. Introduces software development and management of the development process. Includes topics such as managing the software lifecycle: requirements definition, logical design, physical design, implementation, testing, system integration, maintenance; design techniques (structured, event-driven and object-oriented); implementation; testing and software quality assurance; delivery and user training; metrics for project management and system performance evaluation; management expectations: personnel management, cost analysis and change management; management of behavioral and technical project aspects. Is placed in the frame work of client-server systems. 3 Cr. Spring

CIS 492 Computer Information Systems Internship (A). Prerequisites: Junior status, 3.0 or better average in computer science courses, appropriate course work, at least 18 credits towards the major completed prior to starting the internship, and instructor's permission. Provides an opportunity to apply knowledge from the classroom by working in a professional setting. Also provides a valuable and challenging experience for students who have never worked in such a situation, as well as for professionals furthering their education. Teaches the successful intern how effective professional performance requires integrating substantive knowledge with behavioral skills and proficiency in oral and written communication. Each student is supervised on campus by a computer science faculty member, and at the work site by qualified management personnel. Past projects have involved business programming, requirement analysis, web applications, database design, data communications, and project management. 3 Cr.

CIS 493 Senior Thesis (A). Prerequisites: Junior status, 3.0 or better average in computer science courses, appropriate course work, at least 18 credits toward the major completed prior to starting the thesis, and instructor's permission. Provides students with an opportunity to apply knowledge from the classroom by working in an independent research or development project in an academic setting, which is a valuable and challenging experience for students who are contemplating graduate studies in computer science, to test out their potential for independent study and advanced research. May involve substantial software development, structuring available commercial software/hardware for specific applications, or an empirical case study of the use of technology. By developing a successful thesis, permits students to enrich their knowledge of computer applications, theory, hardware or software, to develop skills in analyzing problems involving current computing technologies, and to make effective oral and writtepresentations of their accomplishments. Each student is supervised by a Department of Computer Science faculty member. For details, see "The Computer Science Thesis Option" in the Handbook. 3 Cr.

CIS 495 Topics in CIS (A). Prerequisites: Published prior to registration each semester. As an advanced course, addresses current topics in the field. Each offering of the course is motivated by the expertise of the instructor and by students' interests. Expects students to complete a major research, design, or development project. Descriptions and prerequisites are published prior to the registration period for the course. 3 Cr.

CIS 499 Independent Study in Information Systems (A). Prerequisite: Instructor's permission. Arranged in consultation with the professor-sponsor and in accordance with the procedures of the Office of Academic Advisement prior to registration. 1-3 Cr. By Arrangement

CSC 104 Computers in the Business World (A,T). Provides a general introduction to the different uses of computers in business. Includes these topics: computer system concepts, data representation and storage, processor and peripheral hardware, data processing and word processing systems, spreadsheets, report generation, database queries, and management packages. 3 Cr.

CSC 105 Internet and Web Publishing (A,T). Prerequisites: CSC 104 or CIS 106 or GEP 150 or equivalent. Provides a general introduction to cyberspace. Includes these topics: Internet, e-mail, lists, news groups, Gopher, Telnet, FTP, World Wide Web, net browsers, and creating Web home pages using HTML. 3 Cr. Every Semester

CSC 120 Introduction to Computer Science (A,T). Prerequisite: MTH 121. Introduces problem solving and computers for prospective computer science majors or minors, or other students wishing to take CSC 203. Includes these topics: computer system orientation; data representation; algorithms and their properties, representations, and structure; designing and testing algorithms; assembly language concepts; syntax notation; elementary Java programming; history, uses, and social effects of computers. Requires extensive programming. Preparation for CSC 203. (Closed to students who have successfully completed CSC 203.) 3 Cr. Every Semester

CSC 203 Fundamentals of Computer Science I (A,T). Prerequisites: CSC 120 and MTH 122. Covers fundamental computer science concepts and programming in Java. Includes these topics: computing system concepts, problem solving, algorithm design, top-down development, program testing and documentation, data types (built-in and enumerated), data manipulation, sequences, selection, loops, modules, parameters, arrays, records, strings, files, introduction to sorting and searching techniques and other basic algorithms. Requires extensive programming and supervised lab sessions. 4 Cr. Every Semester

CSC 205 Fundamentals of Computer Science II (A). Prerequisites: CSC 203 and MTH 281. Covers abstract data structures and their operations, and software engineering concepts. Includes these topics: program development (interpreting specifications, top-down development, information hiding, structured testing), implementation of built-in data types and structures, files, pointers, stacks, queues, linked lists, recursion, trees, searching and sorting algorithms, and an introduction to complexity analysis of algorithms. Requires extensive programming and supervised lab sessions. 4 Cr. Every Semester

CSC 212 Programming in Visual Basic (A,T). Prerequisite: MTH 121. Provides a general introduction to computer programming and applications for non majors using the VISUAL BASIC language. Includes these topics: computer terminology, programming concepts, language features, and algorithm design. Introduces a survey of computer applications using the following programming techniques: structured design concepts, decisions, loops, functions, subroutines, arrays, and files. Requires extensive programming. 3 Cr.

CSC 295 Topics in Computer Science (A). Prerequisite: Published prior to registration each semester. Addresses current topics in the field at an introductory level. Each offering of the course is motivated by the expertise of the instructor and by students' interests. Descriptions and prerequisites are published prior to the registration period for the course. Example topic: Windows NT. 1-3 Cr. By Arrangement

CSC 303 Digital Logic and Computer Design (A). Prerequisite: MTH 281. Provides an introduction to digital logic and design of computers. Includes these topics: number systems, Boolean algebra and logic gates, simplification of Boolean functions, combinational and sequential logic design, registers, counters and memory units, register transfer logic, ALU and control unit design. Includes hands-on experience with hardware circuit components. 3 Cr. Every Semester

CSC 311 Computer Organization and Assembly Language Programming (A). Prerequisite: CSC 205. Covers basic hardware organization and architecture of digital computer systems: data representation and digital arithmetic; processor, memory and I/O organization; fetch-and-execute cycle; instruction encoding and addressing modes. I/O techniques; interrupt logic and interrupt handling; assembly language programming, macros, subroutines and linkage; and basic concepts of two-pass assemblers linking and loading of external modules. Requires extensive programming and supervised laboratory sessions. 4 Cr. Every Semester

CSC 319 Introduction to UNIX Programming (A). Prerequisite: CSC 205. Provides a comprehensive study of the C programming language and the UNIX operating system from the programmer's point of view. Covers language features, program development, modularization, low-level I/O, system function calls, UNIX-specific library functions, UNIX commands, programming environment and utilities. Requires extensive programming. Recommended preparation for CSC 412. 3 Cr. Every Semester

CSC 401 Theory of Programming Languages (A). Prerequisite: CSC 311. Covers programming language concepts, description, design, and evaluation. Includes these topics: language families and history; design principles; BNF and other syntax notations; compilation vs. interpretation; implementation concepts; comparison of features and conventions of various languages, including: data types, structures, declaration, abstraction, binding, scope, conversion, and protection; computational primitives; control structures; sub-programs; I/O; exceptions; concurrency; preprocessors; and programming environments. Requires extensive programming. 3 Cr. Every Semester

CSC 406 Algorithms and Data Structures (A). Prerequisites: CSC 205 and MTH 481. Covers design and analysis of data structures and associated algorithms. Includes these topics: arrays, strings, stacks, linear and generalized lists, multilists, multirings, queues, sets, hashing, trees, graphs, recursion, searching and sorting, and applications such as text processing, polynomials, sparse matrices, storage management, and unlimited-precision arithmetic. Requires extensive programming and supervised lab sessions. 4 Cr. Every Semester

CSC 411 Computer Architecture (A). Prerequisites: CSC 303 and CSC 311. Covers design and organization of digital computers. Includes these topics: digital logic and circuit design, data representation, registers, memories and memory management, CPU and ALU architectures, instruction sets, busses and I/O systems, interrupt structure, and microprogramming. Covers additional topics such as virtual machines, parallelism, pipelining, and data flow machines. 3 Cr. Every Semester

CSC 412 Operating Systems (A). Prerequisites: CSC 303 and CSC 311. Recommended: CSC 319 or knowledge of C and UNIX. Covers basic principles of operating systems. Includes these topics: file systems, CPU scheduling and context switching, memory management and virtual memory, disk scheduling, deadlock, concurrent processes and programming, protection mechanisms, design principles, and attempts at standardization. Includes an in-depth study of the UNIX operating system. Requires extensive programming. 3 Cr. Spring

CSC 419 Computer Networks (A). Prerequisites: CSC 303, CSC 311 and CSC 319. Provides a comprehensive study of the field of computer communications, with emphasis on the theoretical aspects of local area networks. Compares specific LANs. Includes these topics: the ISO model, protocols, topologies, error detection and correction, routing, packet-switching, virtual circuits, and datagrams. 3 Cr. Spring

CSC 421 Computer and Network Security (A). Studies concepts, techniques and tools in computer and network security. Includes these topics: security, privacy, information assurance, threats, user authentication and access control; UNIX and Windows NT/2000 examples; logs and intrusion detection; cryptopgraphy, public-key systems, kerberos authentication; IP security, firewalls; Web and database access control and security issues; ethical issues. 3 Cr.

CSC 422 Relational Data Base Design (A). Prerequisite: CSC 205. Provides a study of the theory and practice of the relational approach to database design. Includes these topics: DBMS vs. a traditional file processing, relational algebra, normalization, lossless and/or dependency preserving decomposition, query languages such as SQL and a language that is available on the system, query optimization, integrity and security, and database project design. Requires extensive programming. 3 Cr. Fall

CSC 427 Software Systems Engineering (A). Prerequisite: CSC 311. Provides an introduction to software engineering and programming-in-the-large. Includes these topics: life-cycle models, development standards, project organization, requirements engineering, configuration management, quality assurance, cost and manpower estimates, specification techniques, design methods and representations, human factors, structured programming, object-oriented programming, testing and integration, validation, maintenance, and documentation. Requires the class to work as a project team developing a system for an actual customer. Communication and writing skills are essential. Requires extensive programming. 3 Cr. Fall

CSC 429 Object-oriented Programming (A). Prerequisite: CSC 205. Provides an introduction to basic concepts in object-oriented programming (OOP) and how to apply OOP techniques using an appropriate OOP language such as Java or C++. Includes these topics: the OOP programming paradigm including analysis and design; a survey of related languages; data hiding and encapsulation; inheritance; and polymorphism. Requires implementation of these concepts using appropriate programming language constructs and extensive programming. 3 Cr. Spring

CSC 434 Artificial Intelligence (A). Prerequisite: CSC 205. Provides an introduction to artificial intelligence and its languages. Includes these topics: history and state of the art in AI; programming techniques in the languages LISP and PROLOG; fundamental methods in AI including heuristic search, knowledge representation using predicate logic, and production systems; classic basic problems involving games, graphs, theorem-proving, symbolic algebra, expert systems, natural language, etc. Requires extensive programming. 3 Cr. Spring

CSC 442 Electronic Commerce Technology (A). Surveys electronic commerce technologies and realities. Studies defining tools of e-business to understand the manner in which users, tools, needs and opportunities interact. Includes these topics: the infrastructure of e-commerce and the design and imple- mentation of e-business portals using network and database technologies, data/WEB mining and security/encryption techniques for finding and negotiating with trading partners to execute electronic transactions. 3 Cr.

CSC 444 Introduction to Parallel Computing (A). Prerequisites: CSC 406 and MTH 481. Deals with design and analysis of parallel algorithms. Includes these topics: parallel models of computation, measures of complexity, parallel algorithms for selection, searching, sorting, merging, matrix algorithms, transitive closure, connected components, shortest path, minimum spanning tree and routing algorithms. Provides hands-on experience in a parallel programming environment. 3 Cr.

CSC 483 Theory of Computation (A). Prerequisites: CSC 203 and MTH 481. Provides a study of formal languages and theory of automata with an emphasis on Church's thesis and the "algorithm = machine" point of view. Includes these topics: regular expressions and context-free languages, finite and pushdown automata, Turing machines, computability, undecidability, and complexity of problems. 3 Cr. Spring

CSC 486 Junior/Senior Seminar (A). Prerequisite: CSC 205; junior or senior status and computer science majors only. Provides an overall view of the professional field of computing, emphasizing development of communication skills for the profession. Includes these topics: detailed history of computing technology, social effects of computing, ethics in the field, professional literature, organizations and related activities, current industrial, social, legal governmental and technical developments, and career opportunities. Requires extensive reading and writing, both technical and non-technical, as well as library research, and prepared group discussions and oral presentations. 3 Cr. Every Semester

CSC 492 Computer Science Internship (A). Prerequisites: Junior status, 3.0 or better average in computer science courses, appropriate course work, at least 18 credits towards the major completed prior to starting the internship, and instructor's permission. Provides an opportunity to apply knowledge from the classroom by working in a professional setting. Also provides a valuable and challenging experience for students who have never worked in such a situation, as well as for professionals furthering their education. Teaches the successful intern how effective professional performance requires integrating substantive knowledge with behavioral skills and proficiency in oral and written communication. Each student is supervised on campus by a computer science faculty member, and at the work site by qualified management personnel. Past projects have involved software engineering, graphics, database design, data communications, and process control. 3 Cr.

CSC 493 Senior Thesis (A). Prerequisites: Junior status, 3.0 or better average in computer science courses, appropriate course work, at least 18 credits towards the major completed prior to starting the thesis, and instructor's permission. Provides students with an opportunity to apply knowledge from the classroom by working in an independent research or development project in an academic setting, which is a valuable and challenging experience for students who are contemplating graduate studies in computer science, to test out their potential for independent study and advanced research. May involve substantial software or hardware development, structuring available commercial software/hardware for specific applications, or theoretical analysis of computational schemes. By developing a successful thesis, permits students to enrich their knowledge of computer applications, theory, hardware or software, to develop skills in analyzing problems involving current computing technologies, and to make effective oral aand written presentations of their accomplishments. Each student is supervised by a Department of Computer Science faculty member. For details, see "The Computer Science Thesis Option" in the Handbook. 3 Cr.

CSC 495 Topics in Computer Science (A). Prerequisite: Published prior to registration each semester. As an advanced course, addresses current topics in the field. Each offering is motivated by the expertise of the instructor and students' interests. Requires students to complete a major research, design, or development project. Descriptions and prerequisites are published prior to the registration period for the course. Past topics include: networking, human factors, computational linguistics, advanced architecture, software engineering, logic programming, and program validation, object-oriented programming and parallel algorithms. 3 Cr.

CSC 499 Independent Study in Computer Science (A). Prerequisite: Instructor's permission. Arranged in consultation with the instructor-sponsor and in accordance with the procedures of the Office of Academic Advisement prior to registration. 1-3 Cr. By Arrangement

The information in this publication was current as of June 2005 when the text was compiled. Changes, including but not restricted to, tuition and fees, course descriptions, degree and program requirements, policies, and financial aid availability may have occurred since that time. Whether or not a specific course is scheduled for a given term is contingent on enrollment, budget and staffing. The college reserves the right to make any changes it finds necessary and may announce such changes for student notification in publications other than the College catalogs. For the purpose of degree and program completion, students are bound by the requirements in effect as stated in the printed catalog at the time of their matriculation at SUNY Brockport. Inquiries on the current status of requirements can be addressed to the appropriate College department of office. Also refer to the Brockport Web site home page at www.brockport.edu for current information.