I’ve heard a lot of conflicting opinions about the job and career prospects in computing. I need accurate information. Are jobs available, and does computing make sense as a lifetime career? Where can I learn more about this subject?

Yes, there are jobs available in computing. Even when the number of jobs in the field was at its lowest point in 2002-03, there was less unemployment in the Information Technology sector than in the overall U.S. economy.

Today, there is increasing demand for computing professionals, and a significant shortage of skilled personnel. Thus there is great opportunity for our graduates. Many people who start out in IT jobs move into managerial positions in their organizations. The key to any successful career, including a computing career, is keeping up with the field and continuing education throughout your working years. An excellent source for information about computing careers is at http://computingcareers.acm.org. Look at the Frequently Asked Questions on that site for detailed answers to many of your questions about the computing job and career situation.

Which introductory course should the student who intends to major in CIS take?

A student who intends to major in CIS should start by taking CISC 1115, Introduction to Computing Using Java.

CISC 1115 is an introduction to programming, using the Java programming language. The programming assignments do not assume that the student has a mathematical background beyond high school mathematics. The Java language is used heavily in later courses in the curriculum, as well as in industry.

There are currently two versions of CISC 1115. One section emphasizes scientific applications, and is intended for students interested in STEM fields (Science, Technology, Engineering, and Mathematic) The standard version of CISC 1115 is not geared to a particular application area, but rather uses examples from a variety of fields. You may take whichever version of CISC 1115 appeals to you.

What are those other introductory courses?

The department offers several other introductory courses, but they are not appropriate first courses for a CIS major. They are:

  • CISC 1000, Computing: Its Nature, Power and Limits
  • CISC 1001, Computing and Quantitative Reasoning
  • CISC 1002, The Outer Limits of Reasoning
  • CISC 1003, Exploring Robotics
  • CISC 1050, Introduction to Computer Applications.

CISC 1000 is designed for students who do not intend to major in CIS or in the sciences. CISC 1001, 1002, and 1003 fulfill Pathways requirements. CISC 1050, which can be taken by a CIS major, teaches office applications like Windows, Word, Excel, Access, and Powerpoint.

Students can take CISC 1050 in the same semester as CISC 1115.

Is CISC 1115 an easy course?

No, the student should expect substantial programming assignments requiring a good deal of time. In addition to the hours spent in class, at least 10 to 12 hours per week will be needed to write, run, and correct programs, either on computers on campus or at home. Programming can only be learned by writing programs, and this is a painstaking, time-consuming task requiring intellectual rigor and discipline. One primary goal of the course is to give students a good understanding of the nature of programming before they decide to make a lifetime career out of working with computers.

Do I need to know much mathematics in order to take CISC 1115?

No, not much in the way of college level courses is necessary for CISC 1115. However, the student should have done well in high school mathematics and other introductory courses.

What course should I take first if I have had an introductory computing course at some other college?

If you have taken an approved introductory programming course, but in some language other than Java, you should initially take CISC 1170, Introduction to Java for Programmers. This course presumes a general knowledge of programming in some language other than Java. Typically, this other language would be Pascal, C, C++, or Visual BASIC.

Since the demand for CISC 1170 is low, students registering for the course are advised to sit in on any section of CISC 1115 and do all the assignments and exams for a grade.

If you are in doubt about whether the introductory course you took is acceptable, you should speak to a department counselor. Briefly, to take a course beyond CISC 1115 or 1170, you should be comfortable with such programming concepts as nested loops, functions and parameter transmission, arrays, simple searching and sorting techniques, logical and relational operators, and other control structures.

In all cases, if you have had a first course elsewhere, you should speak with a counselor in planning the rest of your program as a CIS major. You should seek guidance prior to the registration period.

What other first steps should the prospective CIS major take?

Move ahead on satisfying the mathematics requirements. Take MATH 1201 as soon as possible. See a counselor in the Department of Mathematics with regard to any prerequisite courses that must be completed before taking MATH 1201. Many students will have to take MATH 1011 before MATH 1201.

How do I declare myself a CIS major?

During your sophomore or junior year, you will be asked to declare a major. Students who wish to declare themselves as CIS majors should do so through the Brooklyn College WebCentral portal, http://www.portal.brooklyn.edu. Day students wishing to consult an advisor should see Prof. Moshe Augenstein (2122N, 951-5000 x2041, augenstein@sci.brooklyn.cuny.edu). Evening or weekend students should see Prof. Joseph Thurm (2109N, 951-5657; thurm@sci.brooklyn.cuny.edu). Their office hours are posted outside the department office, room 2109N. If you have not yet taken CISC 1115 or 1170, but wish to major in CIS, defer your major declaration and take one of these courses as soon as possible.

What second course(s) should be taken by a CIS major?

CISC 2210 (Introduction to Discrete Structures) and CISC 3115 Introduction to Modern Programming Techniques) are good second courses. CISC 3115 continues the study of Java programming and also introduces the student to the study of data structures. This course includes substantial programming assignments. CISC 2210 covers some of the mathematical and logical constructs that underlie computing. CISC 2210 has a prerequisite of MATH 1011 or placement into MATH 1201 by the Math Department.

Can an undergraduate student take a graduate course?

Advanced (senior year) students with good records can consider taking a CIS graduate course as an advanced elective, if they satisfy the prerequisite conditions. This requires the approval of both the department and the Academic Advisement Center. See the Graduate Student Counselor. A large variety of graduate courses are offered every semester, including courses in artificial intelligence, databases, and computer networks.

Where can I learn C++?

CISC 3142 teaches advanced programming concepts in C++.

How can I learn other programming languages besides Java and C++?

You may take CISC 3160 which includes an introduction to other languages. You may also take a CIS course numbered between1150 and 1200 to learn a specific new language.

Is there any opportunity to do research at the undergraduate level?

Yes. There are a number of faculty laboratories in the CIS department with ongoing research projects. Students can do independent work with these faculty and receive credit for CISC 4900, 4905, or 5001; superior students may apply for honors credit in any CIS course, enroll in the honors courses CISC 4940 to 4955, or enroll in one of the supervised research project courses, CISC 5001 to 5004. These projects offer students the opportunity to get involved in hands-on practical work with both hardware and software. The projects can provide you with skills and contacts that can enhance your career opportunities or your choice of graduate schools. Getting involved in research is especially important for those students who want to continue on to graduate school in computer science. It is a good idea to start looking into a project early in your CIS career. Talk to your professors about their work, or contact professors who are doing work consistent with your interests.

How should I prepare myself for graduate school in computer science?

A student intending to go to graduate school in computer science should take CISC 3220, CISC 3390, and CISC 3230. It is also a good idea to take as many CIS electives as possible, and to do a research project with a CIS faculty member for CISC 4900, 4940, 4945, 4950, 4955, 5001 or 5002. If you plan to take the Graduate Record Exam in computer science, you should complete CISC 3230 before taking the exam.

Who should consider entering a computer-related profession?

Most importantly, you should be interested!–either in the computer per se, or in the enormous variety of applications to which it is put. If you’re interested in a career involving programming, you should find programming interesting and (mostly) fun. If you enjoy solving puzzles and complex problems, you may find programming work very satisfying. Of course, it helps to be orderly and disciplined in your approach—when dealing with machines, nothing useful can be achieved by vague or fuzzy thinking; similarly, you should be comfortable with doing painstaking, detailed-oriented tasks.

It is not necessary to have extensive mathematical knowledge for most professional programmer jobs, and many have entered the field with undergraduate majors in such diverse areas as psychology, history, English literature, etc. But an undergraduate degree in computer science can be a very solid foundation.

Do I need a grade of C or better in every single CIS course to complete the major?

No. You need a grade of C or better in 24 advanced elective credits at Brooklyn College for the B.S. in Computer and Information Science. All courses not marked with an asterisk in Section IV or in the Bulletin are advanced electives. You need a C or better in any course that is a prerequisite to any other CIS course. For example, you need a C in CISC 3130, since it is a prerequisite for CISC 3142, but you do not need a C or better in CISC 3180 (because it is not a prerequisite for anything), as long as you have 24 other advanced electives with a grade of C or better.

See the Mathematics department about grade requirements for mathematics courses.