18 Biannual CS Retreat Spring 2011

advertisement
18th Biannual CS Retreat Spring 2011
Every_semester@Reading_Day (May 4th 2011)
Recap
The 18th CS retreat was held on a combined reading + snow replacement day which made for
challenging scheduling for faculty and administrators. Joe Leung proposed a process for
course assessment. Sarah Vandermark overviewed the innovative advisement + professional
development framework that has been developed. Alex Gerbessiotis surveyed the state of the
field with his (un)usual and dazzling command of metrics. Andrew Sohn and Jon Kapleau
addressed the lower level undergraduate problem-solving and language landscape. Chengjun
reviewed research at the undergraduate level and OCC transfer student Kaitlin Lackey recalled
her positive experience in CS.
List of speakers and topics
0945-950:
0950-1000:
1000-1040:
1040-1100:
1100-1120:
1120-1140:
1140-1215:
1215 -1235:
1235-12:55:
Dean Narain Gehani
Acting Chair Mike Baltrush
Joseph Leung
Alex Gerbessiotis
Sarah Vandermark
Andrew Sohn
Jonathan Kapleau
Intermission for Lunch
Chengjun Liu
Kaitlin Lackey
-
Introductory Remarks
Introductory Remarks
Proposed Curriculum Review
State of Discipline CS@US, CS@NJIT
Professional Development Sequence
CS288 Programming Practice
CS Language Landscape in Lower Level
- Undergraduate Research in CS
- Undergraduate Viewpoint on CS
Contacts
cs_faculty@njit.edu ; cs_lecturers@njit.edu ; barry.cohen@njit.edu ; narain.gehani@njit.edu ;
serena.branson@njit.edu ; kaitlinlackey19@yahoo.com ; sarah.vandermark@njit.edu ;
megan.t.summers@njit.edu ; angel.j.bell@njit.edu ; kathy.james@njit.edu ; george.olsen@njit.edu ;
kathleen.price@njit.edu ; michael.p.bieber@njit.edu ; michael.halper@njit.edu ;
Proposed Review of CS Curriculum
-
Prof. Joseph Leung
After brief introductory remarks by Dean Gehani and Interim Chair Mike Baltrush, a late request by
Prof. Leung to discuss a curriculum proposal was obliged. Dean Gehani had asked Joseph to think about
possible ways of improving the CS curriculum. In response, Joseph asked to address the retreat about
what might be called "Quality of Program" issues. His proposal is to perform a type of rapid selfassessment in the Fall semester this year. The assessment would initially address graduate courses, then,
later, undergraduate courses. Joseph proposed brief 15 minute overviews of one course per week,
presented by the/a course instructor to the department at a weekly meeting. Based on this faculty would
identify updates and/or changes to the courses. Alex Gerbessiotis recommended the process begin with
core courses. Barry Cohen thought the process would clarify what was happening in courses, their
1
interconnections and the programming experience expected. He suggested a tentative format for the
presentations. The department Chair and the CS faculty will address this matter more formally in the
Fall.
Note: Because of scheduling constraints for faculty, a last minute change in the schedule was made,
with Sarah Vandermark's presentation being moved before Alex Gerbessiotis' State of the Department
and Field address.
Professional Development Sequence and CO-OP
-
Sarah Vandermark
Sarah Vandermark spoke about the new format for interacting with CCS students. This approach
strongly depends on the newly developed sequence of professional development courses CS 107, CS
207, and CS 407, which are required for all CCS students. Each course is one credit and the advisors,
Sarah and Megan, meet with the students once weekly. In addition to the topical content of the courses,
they also provide a major advantage in that the advisors get to know the students early in the program,
on a one-on-one basis, and much more closely than had been the case previously. Each advisor meets
75 students over their (three) sections. Sarah believes she is able to get the students to learn how to
advise themselves. An important outcome is that because of the advising opportunities the classes
present, there are fewer registration and advising problems. Sarah plans to revamp CS 107 so it involves
more group projects so students gain experience in working in team and group environments, improving
their associated social skills. CS 207 currently emphasizes fundamental career and professional
development capabilities like communication skills, resume writing, and interviewing and uses among
other techniques mock interviews. All of these skills are profoundly related to ABET educational
requirements that previously have been inadequately covered in the program(s). These innovations
represent a major self-improvement in our academic process. Advisor Load becomes an issue with the
teaching requirements for these sections. Sarah mentioned that the timing scenario is to run CS 107 in
the Fall semester, CS 207 in the Spring semester, and CS 407 as a Junior level course which could be
split between the Fall and Spring semesters to even the teaching course load.
One of Sarah's fundamental objectives, partly motivated by her own work experience at Northeastern
University in Boston, is to create a culture where CCS students "want to do CO-OP". The key
objective is to dramatically increase the number of students taking CO-OP. Half the students who do
take CO-OP are eventually hired at the position. According to Sarah's analysis, the basic barrier to
higher CO-OP rates has been simply lack of knowledge. This is being rectified as a side-effect of the
professional development courses which greatly expand student awareness of these opportunities, their
benefits and how to go about making them happen. Sarah's objective is to increase the number of COOP students so that within three years an average of 100 students out of the entire population of CCS
undergraduates will take CO-OP.
Concerning the opportunity for advanced education, Alexander Gerbessiotis observed it is important to
inform students in these courses of the traditional deadlines for GRE's if they intend to pursue graduate
studies and the possibilities of Ph.D. level education. At the graduate level, Kathy Price remarked on
opportunities for Practical Training.
2
State of the Program
-
Prof. Alex Gerbessiotis
Alex presented his usual meticulously researched analysis of the academic and job situation for
Computer Science. US News' widely cited ranking ranked NJIT overall as 139th in US in 2011 while
115th in 2010, illustrating how the ranking is subject to major changes with slight perturbations in the
underlying data. A key factor in undermining NJIT's US News ranking is its low 17% four-year
graduation rate (compared for example to 65% for College of NJ, 50% for Rutgers NB and 30% for
Stevens), NJIT being 4th from the bottom of almost 30 NJ universities listed! This single factor
constitutes 25% of the US News and World Report score on which ranking is based. Ali Mili remarked
that, given the visibility and impact of these rankings and their sensitivity to possibly slight changes in
the inputs, it's worth exploring modest internal improvements or tactics that could disproportionately
affect the rankings. In another major ranking, the Chinese ARWU survey ranked NJIT as tied with
schools like NYU, Rice, Edinburgh and University of Montreal.
The appeal of the computing profession remains very high with correspondingly remunerative salaries.
According to surveys at cnbc.com software engineering is ranked as the best job in America. Relating
salaries and academic programs, the web site payscale.com ranks colleges based on the reported salaries
of their alumni (but beware its unnervingly restrictive license agreement that affects its use). In terms of
starting salaries for engineering degrees, payscale.com ranked computer science fairly close to other
major engineering degrees, with the exception of petroleum engineering which was off the charts in
terms of starting salaries, close to twice those of other engineering fields. Remarkably, NJIT was ranked
11th among US engineering schools by payscale.com, with Harvey Mudd (a third of whose students are
National Merit scholars and which is rated best undergraduate U.S. engineering program among nondoctoral institutions), Caltech and MIT as the three highest ranked in the same ranking. NJIT was
ranked 5th among top state universities in the same respect. The position of system administrator had the
highest salary for computer administration jobs (at over 130K per annum).
CS employment prospects remain strong. After a slight dip in 2008-09, the National Assoc. of
Computer Consultant Businesses statistics show the number of positions is almost back to its historic
high in October 2008. To gain a sense of current regional demand for software positions, Alex
recommended checking indeed.com (for example, enter: CS Newark jobs with 25 mile radius, as the
search criterion). The indeed.com site has some interesting data visualizations for examples of which
we refer to slides on Alex's attached presentation. Alex also references the website naceweb.org
(National Association of Colleges and Employers). That site provides extensive information on the job
market for college-educated individuals, with special articles, surveys, job outlook reports and so on.
You can find interesting tidbits there such as that employers (currently) hire 40% of their new hires from
former interns. Other interesting topics considered by Alex included expected competencies for
prospective employees by major employers like Google, Facebook and Twitter.
Enrollment in academic computing programs is strong. The Taulbee Survey shows a 10% increase in
CS enrollment with a 15% increase in female enrollment. Alex's presentation has detailed historic data
and projections on national and NJIT enrollments. The most notable point is that NJIT MS CS new
students will be UP, other categories being slightly down or the same. Projected enrollment for Fall
2011 is: 320+ for BS CS, 201+ for MS CS, and 50 for PhD CS, about 30 up in total from last year.
3
CS 288 Intensive Programming Practicum
-
Prof. Andrew Sohn
Andrew Sohn was enlisted to teach CS 288 Intensive Programming because of last minute changes in
the teaching schedule. The problems he used for the course were selected from an intensive computer
science course at Stanford, though one given to Stanford freshmen CS majors. After his recent
experience he says he is inclined to rename the course "moderate to weak programming" instead of its
current title. His underlying focus was teaching problem-solving in computing rather than language
skills per se. Examples included shell scripting and implementation of Linux commands, intelligent
search, web processing problems that entailed traversing the DOM (Document Object Model) during
real-time retrieval of web pages and extracting features of the code (related to understanding the
operation of web crawlers), simple chat application, socket programming, etc. Languages ranged from
Bash to C (40%), Python (20% - a Python DOM library was used), PHP, MySQL, XML, et al.
According to Andrew 80% of the students (3/4 of whom were juniors and seniors, even though the
course is nominally sophomore level) were ill-prepared, unable to implement even routine algorithms
like tree-traversal, while the remaining 20% were up to the challenge of designing, planning, developing
and implementing solutions to reasonably challenging problems. Part of the pedagogical problem is that
students violate the order in which they are supposed to take courses, like taking the presumably
terminal capstone course before CS 288! Subsequent discussion involved course content and
sequencing, Barry Cohen noting the presumed focus of CS 288 and whether it utilized C or C++, which
appeared to be disputed. Alex Gerbessiotis remarked on the curricular locus of topics like tree traversal,
covered somewhat in CS 114 but addressed more deeply in CS 435, after CS 288. The sequencing and
breakout of topics among these courses appears to need review, and perhaps modified and standardized.
Andrew believed the take-home message of his experience was that a significant majority of the students
lacked understanding of the fundamentals, and so addressing that should be the at the heart of any efforts
at CS curricular improvement.
Post-retreat, Jim McHugh mused on the underlying difference of opinion between Barry and Andrew on
how to best address the challenges we face in instruction in programming. On the one hand, it seems
Barry focuses on the failure of conventional approaches to successfully teach programming principles
and skills to the mass of students and maintain their interest in the field; while Andrew addresses the
need for challenging problem solving experience, which is currently under-realized and which, when
presented, only the best students seem able to successfully tackle. There seems to be roughly a 70-30
(or 80-20) percentage split between the student populations addressed. The introductory python course
nurtured by Barry particularly suits the 70% mass population, at least in respect to its manner of
introducing programming (which is distinct from its roadmap and communications objectives).
Andrew's efforts at problem-solving and programming escalation work with a 30% elite population
(though the idea is to eventually extend this to a majority of students). Both the Cohen and Sohn
strategies seem appropriate for different 'parameter regimes' of student capability. While resolving the
dilemma presented by a bifurcated student population is problematic, we might benefit from a sort of
unified Coh'n-Sohn viewpoint that explicitly confronts one root issue: how to deal effectively with vastly
different student levels.
4
CS Language Landscape in Lower Level
-
Prof. Jonathan Kapleau
Jonathan Kapleau, prompted by his own background in philosophy, began his presentation by
underscoring that "you can't think without language". Language-wise the lower level landscape covers:
CS 100 (Python) and CS 113-114 (Java). In CS 280 (Programming Language Concepts) he expects
students to gain command of the language they don't know well (Java if they know C++ and C++ if they
know Java). To expose them to C, he "throws" C at them, with sample C programs. Concepts like
function pointers emphasized by Andrew Sohn are required for the class projects. In Jonathan's version
of CS 288 he focuses on C (as opposed to specifically C++), the Bash shell, and advanced programming
techniques. Ali Mili inquired about the software prerequisites for the discrete math related courses CS
241 and CS 341 (Foundations of Computer Science I and II) which require CS 114 and CS 280
respectively.
Undergraduate Research in CS
-
Prof. Chengjun Liu
Chengjun Liu is a member of the Institute Undergraduate Research Committee. He mentioned a number
of funding opportunities available to support undergraduate research. Five (only) were made available
this year through a provost funding initiative. Interestingly, beginning this year Yehoshua Perl has a
grant from the NLM (National Library of Medicine, under NIH) which provides funding for 10
undergraduate students. Chengjun also noted that John Federici has arranged for two student projects
supported by CACI, a major IT support company based in Arlington. Chengjun observed that he himself
encourages projects with a research angle in his undergraduate AI course. Ali Mili asked Chengjun if he
was aware of how CS support for undergraduate research compares with that of other departments but
Chengjun was not privy to the statistics. Alex Gerbessiotis observed that supplemental requests for
generous undergraduate support can be made as a component of NSF grant applications. Jason Wang
observed that such support is about 6K per annum for undergraduates.
Undergraduate Viewpoint on CS
- Kaitlin Lackey
-
CS senior Kaitlin Lackey transferred to NJIT from OCC (Ocean County College). Her transition to
NJIT from the county college went well; she contrasted the treatment of C++ in the county college,
which was mainly syntax oriented, versus the more advanced approach at NJIT. Kaitlin chose the
combined community college + NJIT route because of the cost benefits, especially from the first two
years, and because she liked NJIT's program. She currently works in the research group of Yehoshua
Perl and Jim Geller where she has learned a great deal about group research. Kaitlin believes this
experience has been highly beneficial, preparing her for working in groups in "the real world", a
capability she thinks will prove invaluable. In terms of coursework, Kaitlin liked the structure of Ted
Nicholson's CS 490 where 70% of the grade was based on a group development project. Three students
were involved in each project. The team's responsibilities included coming up with the idea for a project
that was substantial enough to take the whole term to develop. Kaitlin felt that the CS program would
benefit from more courses like this. Though she had some exposure to Linux, she would like to have had
significantly more, believing it would provide students better access to courses like CS 433 Intro to
Linux Kernel.
5
Appendices
I.
II.
III.
IV.
V.
Alex Gerbessiotis
Andrew Sohn
Jonathan Kapleau
Chengjun Liu
Kaitlin Lackey
State of Discipline CS@US, CS@NJIT
CS288 Programming Practice
CS Language Landscape in Lower Level
Undergraduate Research in CS
Undergraduate Viewpoint on CS
6
Computer Science
Alex. Gerbessiotis
Alex. Gerbessiotis, CS Department
CS RETREAT: Spring 2011
Payscale.com
Payscale.com
Alex. Gerbessiotis, CS Department
CS RETREAT: Spring 2011
Alex. Gerbessiotis, CS Department
Best Jobs in America
http://www.cnbc.com/id/40950977?slide=11
Alex. Gerbessiotis, CS Department
Rankings :CS, NJIT
Alex. Gerbessiotis, CS Department
Rankings 2011: US News &WR
NJIT
CS
Engineering
IS
Math
Physics
Chemistry
2010
2011
115
91
86
98
133
RNP
139
91
92
98
133
RNP
USNWR: http://grad-schools.usnews.rankingsandreviews.com/best-graduate-schools/top-computer-scienceschools/rankings
Glossary:
RNP: Ranked but rank not published, NR: Not Ranked
Alex. Gerbessiotis, CS Department
What undermines NJIT’
NJIT’s rankings
Alex. Gerbessiotis, CS Department
Rankings 2010/2011
NJIT
CS
IS
Math
AppMath
Physics
Chemistry
ECE
Note:
ARWU:
NRC:
Glossary:
(international)
(national)
ARWU
NRC
NR
5252-75*
NR
NR
NR
NR
NR
NR
6666-104/128 (3rd qrtl)
9696-119/128 (3rd qrtl)
NR
1818-23/34(3rd qrtl)
9090-142/162 (3rd qrtl)
135135-169/180(4th qrtl)
6161-100/128 (3rd qrtl)
* Ranked 76-100 previously
http://www.arwu.org/SubjectCS2010.jsp
World Ranking
http://chronicle.com/article/NRC-Rankings-Overview-/124721/
US Ranking
RNP: Ranked but rank not published, NR: Not Ranked , USNWR: US News &World Report NRC:Natnl Research Council
ARWU: Academic Rankings of World Universities (Shanghai U –related)
Alex. Gerbessiotis, CS Department
ARWU (Chinese) Rankings
CS ranks 52-75 in 2010 vs 76-100 in 2009
CS@NJIT tied with
NYU, Rice, Poly Turin, Edinburgh, Chinghua,
UCSC, UWUW-Madison, U Virginia, U Montreal,
TU Munchen, Eindhoven IT, Korea AIST, UF
CS@NJIT beats
BU, McGill, BarIlan, PSU, Shanghai JiaoTong,
ETH Lausanne, HK PolU, CathLeuven, MSU,NTUST
Alex. Gerbessiotis, CS Department
Payscale.com: Best Engin. Colleges
Alex. Gerbessiotis, CS Department
Payscale.com: Best NE US Colleges
Ranks
Ranks 1-12
1-12
Alex. Gerbessiotis, CS Department
Payscale.com: Best NE US Colleges
Ranks
Ranks 13-31
13-31
27th
27th
Alex. Gerbessiotis, CS Department
Payscale.com: Best State Universities
Alex. Gerbessiotis, CS Department
Payscale.com: Best State Universities
Alex. Gerbessiotis, CS Department
Payscale.com: Top NJIT degrees
Alex. Gerbessiotis, CS Department
Taulbee Survey!
Alex. Gerbessiotis, CS Department
Taulbee Summary
266 Institutions queries (= 184 CS + 30 CE + 22 IS + 29CANADA)
195 Institutions responded (= 150 CS + 12 CE + 18 IS + 15CANADA)
Most data are for Fall 2009-Spring 2010, except for new stdnts (Fall 2010)
[NJIT did not respond]
Highlights of the summary
BS degrees
BS/CS degrees
BS/CS degrees (women):
BS enrollment
[Full report to follow in Mid May 2011]
UP +11%
(includes CS/CE/IS, US/CAN)
USA +9% vs 5.5% 2009 CAN UP 15%
14%
(CE 10%, IS 14.5%)
USA UP +10%
CAN DOWN -8%
Alex. Gerbessiotis, CS Department
Taulbee Summary
BS
Degrees 9008 up
(F09-S10)
12501=9008+1592+1900
female:14%
MS
6851 up
PhD
Remarks
1501 same vs +6%,-7%,-8% resp
9542=6851+765+1926
1772=1501+271
(the year before)
21%
19%
1214%, 2119% 2009/2010change
PhD Enrollment:
12666 in CS (15038=12666CS+1378CE+994IS)
PhD NewStudents: 2561 in CS (2962=2561CS+216CE+185IS)
Averages:
(per Dept)
NJIT
Degrees
Enrollment
New Stdnts
Degrees
Enrollment:
New Stdnts
BS: 60,
BS:250,
BS: * *
BS: 45
BS: 301
BS: 72+34
MS: 45,
MS: *
MS: ***
MS: ~ 80
MS: ~ 200
MS: ~90
Alex. Gerbessiotis, CS Department
PhD:10
PhD:84
PhD:17
PhD: 3-5
PhD: ~50
PhD: 3-7
SECTION 1
EMPLOYMENT PROSPECTS
for
Computer Science
students
Alex. Gerbessiotis, CS Department
Payscale.com:
Best Degrees
Alex. Gerbessiotis, CS Department
Indeed.com
Alex. Gerbessiotis, CS Department
Indeed.com
Alex. Gerbessiotis, CS Department
Indeed.com
Alex. Gerbessiotis, CS Department
Indeed.com: Administrator jobs
Alex. Gerbessiotis, CS Department
Naceweb: Spring 2011 salary survey of new
graduates
http://www.rpi.edu/dept/cdc/NACE%20Spring%202011%20Salary%20Survey.pdf
Average
Average salary
salary per
per major
major
## $[2011]
$[2011]
$[2010]
$[2010] Change
Change
Alex. Gerbessiotis, CS Department
CS jobs 2011: Google skills
BS/MS in Computer Science or related field/degree, and/or equivalent work experience
A solid foundation in CS, with strong competencies in data structures and algorithms
Fluency in one or more of: C, C++, Java
Familiarity with one or more of: Python, Perl, Shell, PHP
Expertise in analyzing and troubleshooting large-scale distributed systems
Knowledge of IP netw, net analysis, perf. and app. issues using standard tools like tcpdump
Strong skills in C and/or C++, scripting languages, Python and Shell highly desirable
BS in Computer Science or related technical discipline, or equivalent experience.
Large systems software design and development experience, with extensive knowledge of Unix/Linux.
Coding skills in C or JavaScript/AJAX, database design and SQL, distributed or concurrent systems, and/or
knowledge of TCP/IP and network programming are a plus.
A solid foundation in computer science, with strong competencies in data structures, algorithms, and
software design.
Expertise in data structures, algorithms and complexity analysis
Alex. Gerbessiotis, CS Department
CS jobs 2011: Facebook skills
Pursuing a B.S. in Computer Science or equivalent experience preferred - M.S. or Ph.D. a plus
Experience developing and debugging in C/C++ on *nix
Experience building large-scale server applications and reliable software
Experience with scripting languages such as Perl, Python, PHP, and shell scripts
Experience in auction theory and/or machine learning
Expert knowledge of algorithmic game theory, auction theory
Ability to translate theoretical research into practical applications
Knowledge of relational databases and SQL
Prior experience with building platform technologies a plus
Expertise in programming languages and/or compilers a plus
High levels of creativity and quick problem solving capabilities
Configuration and maintenance of Apache, memcached, Squid, MySQL, NFS, SSH, DNS, and SNMP
Experience with Data warehousing architecture and data modeling best practicesl Knowledge of
Hadoop, HBase and Hive highly preferred
Alex. Gerbessiotis, CS Department
CS jobs 2011: Twitter skills
B.S. Computer Science or equivalent experience
Experience securing large-scale web applications and APIs
Strong programming capabilities two or more: C, C++, Assembly, Python
Experience with secure development and debugging in Ruby, C, Python, JavaScript, and Java
Extensive experience with data warehouse environments
Demonstrated combination of DBA, analytical, and engineering skills.
Familiarity with Map/Reduce-style architectures like Hadoop.
Strong algorithms and data structures background
Good software engineering skills (e.g. unit testing, code reviews, design documentation)
Familiarity with machine-learning techniques and information retrieval
Strong background in statistics and probability
Knowledge of TCP/IP, HTTP, security, storage, and LAMP stack
Alex. Gerbessiotis, CS Department
Employment History : Computing Jobs @ US
NACCB
Feb
Feb
Sep
Feb
Oct
Feb
Oct
Mar
Mar
Dec
Dec
2011
2010
2009
2009
2008
2008
2007
2007
2006
2002
2001
:
:
:
:
:
:
:
:
:
:
:
3,998,500
3,838,100
3,810,900
3,940,000
4,046,000*
3,948,000**
3,740,000
3,620,000
3,560,000
3,369,000
3,527,000
BLS
3,472,000
3,455,000
BLS : US Bureau of Labor Statistics
*amended from 3,916,000 in retreat F08
**amended
ded from 3,800,000 in retreat F08
NACCB: National Assoc. of Computer Consultant Businesses **amen
Alex. Gerbessiotis, CS Department
SECTION 2
Computer Science Education
@USA
Alex. Gerbessiotis, CS Department
2010 TAULBEE Survey+HISTORY
http://www.cra.org
Newly Declared CS Majors
BS degrees
Median per Department
median per Dept
Academic Year
Median per Department
CS enrollment
Degrees Granted
F98
14000
108
97/98
50000
360
7900
45
F00
15958
100
99/00
56000
300
10200
58
F04
10900
50 82
03/04
50000
260 532 14000
71 188
F05
7952
42 63
04/05
40000
220 385 11808
60 164
F06
7798
44 67
05/06
34898
200 313 10206
52 99
F07
7915
46 66
06/07
30000
170 271 8021
43 74
F08
8400
50 58
07/08
32000
170 264 7406
37 62
F09
9380
55 67+45 08/09
33000
190 287 7000
40 45
F10
72+34
CS/NJIT
301
Taulbee Survey (March 2010/May 2010)
Alex. Gerbessiotis, CS Department
SECTION 3
Computer Science Education
@NJIT
Alex. Gerbessiotis, CS Department
CS
HISTORICAL DATA
BS
MS
PHD
TOTAL
NJIT2010
CCS2010
6102
916
2398
566
426
69
8926
1551
2010
2009
2008
2007
2006
2005
2004
2003
2002
2001
301+25 (?)
287
264
271
313
385
532
730
908
1025
198
227
307
392
424
446
463
549
585
643
52
51
53
52
51
57
66
64
56
43
551 (actual)
565
624
715
788
888
1061
1343
1549
1711
Alex. Gerbessiotis, CS Department
SECTION 4
Enrollment Fall 2011
(projections)
Alex. Gerbessiotis, CS Department
April 20 Summary
NJIT BS :
NJIT MS :
NJIT PhD:
Apps DOWN
Apps UP
Apps DOWN
NJIT Enrollment:
CS BS:
CS MS:
CS PhD:
CS Enrollment:
New students UP
New students UP
New students DOWN
UP
Apps DOWN
Apps UP
Apps slightly UP
UP UP
New students DOWN (but solid)
New students UP
New students may be SAME/DOWN
{CS Dept or CCS enrollment another matter}
Alex. Gerbessiotis, CS Department
April 20 BS Applications
UNDERGRADUATE PROGRAMS
Applications
Accepts
@NJIT
Deposits
-10%,
@NJIT
-3%,
@NJIT
+15%
@CCS -10%,
@CCS
-20%,
@CCS
-10%
@CS
@CS
-15%,
@CS
-30%
4000
470
240
=,
2500
270
140
550
80
30
Transfer Apps:
Up 10%
Transfer Accepts: Up 20%
Alex. Gerbessiotis, CS Department
Graduate Applications
GRADUATE PROGRAMS
Applications
MSApps@NJIT
+30%,
PhDApps@NJIT
=
Acceptances
MSAcc@NJIT
PhDAcc@NJIT
67
+25%,
-50%
MSApps@CCS
PhDApps@CCS
+20%
+50%
MSAcc@CCS
PhDAcc@CCS
12
+12%
-50%
MSApps@CS
PhDApps@CS
+30%
+20%
MSAcc@CS
PhDAcc@CS
+20%
-20%??
4000
560
1000
135
700
110
1800
476
Alex. Gerbessiotis, CS Department
300
12
BS programs: April 20 projections
Program FTF Tra RA
Actual 2010 Fall numbers
CS
72 34 9
Binfo
2
1
1
C&B
2
1
0
IS
1
3
4
B&IS
3
12 1
HCI
1
0
0
Web&IS 1
5
1
IT
43 26 16
Undecide 25 0
0
CCS -tot 150 82
Total
115
4
3
8
16
1
7
85
25
32 264
FTF Tra RA Total
Projections for FALL 2011
53
37
?
90
2
2
?
4
1
2
?
3
4
?
4
4
8
?
12
0
?
0
4
7
?
11
43
36
?
79
20
0
?
20
136
96
Alex. Gerbessiotis, CS Department
?
232
MS, PhD programs:April 20 projections
Actual Fall2010
Projected Fall 2011
CS-PhD
IS-PhD
5
5
3
1
Roughly the same to down
Down
CS-MS
Binfo-MS
C&B-MS
SoftE-MS
IS-MS
B&IS-MS
IT&AS-MS
92
8
6
4
66
22
41
110
9
7
5
67
22
45
UP 15-20%
same
same
same
same
same
same
CCS-total
NJIT-total
251
893
270
1100-1200
slightly up
UP MS, DOWN PhD!
Alex. Gerbessiotis, CS Department
ENROLLMENT
Program
Projected Fall 2011
BS MS
PhD Total
BS
Fall2010
MS PhD Total
CS
BINFO
C&B
SE
IS
B&IS
EM
HCI
WIS
IT
IT&AS
320+ 210+
8
25
10 10
0
16
55 170
55 65
?
?
?
9
435 100
301
9
12
0
65
47
7
9
7
435
0
198
32
13
11
176
60
0
0
0
0
69
50
0
15
-
580+
332016
240120
?
?
9
435
100
Alex. Gerbessiotis, CS Department
52
0
0
0
17
0
0
0
0
0
0
551
41
25
11
258
107
7
9
7
435
69
Computer Science
Alex. Gerbessiotis, CS Department
CS288
Intensive Programming Practice
Andrew Sohn
Wed, 5/4/2011
Objectives
intensive
programming
The Reality
• Weak to moderate practice
• Compared to the current programming
standard (standard to be defined
separately)
• Had to cut down the topics by 20% after
real-time in-class programming Test1
(total four tests including final)
Original schedule - intensive
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Week 1 Introuction to Linux and Bash shell scripting
Week 2 Introuction to C
Week 3 Sorting - simple slow methods such as selection sort to moderate merge and quick sort
Week 4 Sorting - fast radix for both integer/float and internal/external record sorting
Test 1: Programming test: 1-2:30 pm, Mon, 2/14/2011
Week 5 Searching - depth first, breadth first using two problemss
Week 6 Searching with intelligence - heuristic-based best first, implement GUI to demonstrate the
result
Week 7 Linux command - implementing a Linux command such as grep or diff
Week 8 Linux command continues
Test 2: Written test: 1-2:30 pm, Thur, 3/10/2011
Week 9 Audio processing - internals of MP3 encoder/decoder
Week 10 Audio processing - implementing an encoder/decoder
Week 11 Web processing - wget, DOM manipulation, extraction, XML generation
Week 12 Web processing - simple file-based or mySql DB construction
Test 3: Programming test: 1-2:30 pm, Thur, 4/14/2011
Week 13 Web processing - reading, plotting and presenting data using GUI.
Week 14 Networking - socket programming
Week 15 - Final exam, time and location to be announced at the Registra
Adjusted schedule - moderate
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Week 1 Introuction to Linux and Bash shell scripting
Week 2 Bash shell scripting and Introuction to C - pointers
Week 3 C structure handling with linked list
Week 4 Sorting - simple slow methods such as selection sort to moderate merge and quick sort
Week 5 Sorting - moderate merge sort, fast radix for integer
Test 1: Programming test: 1-2:30 pm, Mon, 2/14/2011
Week 6 Sorting - radix sort for floats; Searching - depth first, breadth first
Week 7 Searching - breadth first, heuristic-based best first
Week 8 Searching with intelligence, implement GUI to demonstrate the result; Linux command implementing a Linux command such as grep or diff
Test 2: Written test: 1-2:30 pm, Thur, 3/10/2011
Week 9 Linux command continues
Week 10 Linux command continues
Week 11 Web processing - wget, DOM manipulation, extraction, XML generation
Week 12 Web processing - simple file-based or mySql DB construction
Test 3: Written test: 1-2:30 pm, Thur, 4/14/2011
Week 13 Web processing - reading, plotting and presenting data using GUI.
Week 14 Networking - socket programming
Week 15 - Final exam, time and location to be announced at the Registrar
Real-World Problems
• Directory tree traversing
• Sorting – selection, merge, radix – integer and
float
• Search – depth, breadth, best, branch-bound,
A*, and bidirection.
• Web – downloading stock market pages in realtime, parsing DOM, data extraction, XML
generation, data injection to mysql database,
selection from database, presentation to firefox,
plotting graphs/charts in real-time
• Simple talk (socket programming)
Tools/Languages
• Bash (10%)
• C (40%) – mostly pointers, linked-lists, structure
handling, function pointers
• Python (20%) with list comprehension
• PHP (10%) for dynamic pages,
• mysql (10%) with multiple tables (a lot of tables)
• DOM (5%) – level 1 for simplicity
• Sockets (5%) – low level network programming
• Some HTML, Java, XML.
Results
•
•
•
•
•
Day 1: 39 students
After Test1 (in-class programming): 30
After Test2: 23
After Test3: 23 (but some failing)
Current status: --- + --- + ---
Issues
• Sophomore-level course
• 80% - juniors (23) and seniors (8) out of
39
• Seniors (8) to graduate after this course
• Many do not know how to traverse trees
and some will graduate after this course
Suggestions
• Undergraduate curriculum needs to be
overhauled – exigent situation – now!
• 2/3 of our students have little fundamentals
• Teach fundamentals, not flashy topics which
give false impression about computer science
• CS100 is counter productive – giving false
impression that problem solving is simple
CS Language
Landscape in the
Lower Level
Jonathan Kapleau
Purpose
• To provide information about
the current situation with
regard to programming
language instruction
• To promote discussion of the
merits of different programming
languages as it relates to
instruction
CS 100: Roadmap to
Computing
• Current language of
instruction:
– Python
• Introduction to problem solving
and programming
• Overview of the discipline
CS 113: Introduction to
Computer Science I
• Current language of
instruction:
– Java
• Introduction to programming in
Java
• Continuation of problem
solving
CS 114: Introduction to
Computer Science II
• Current language of
instruction:
– Java
• Introduction to data structures
and algorithms
• Using data structures to solve
problems
CS 280: Programming
Language Concepts
• Current languages of
instruction:
– Java
– C/C++
– Python
• More advanced programming
techniques
• Introduction to language
paradigms
CS 288: Intensive
Programming Practicum
• Current languages of
instruction:
–C
– Bash shell scripting
• Even more advanced
programming techniques
Undergraduate Research
NJIT undergraduate research program
10-week summer research program for current NJIT
undergraduate students this summer.
Goals:
for improving student engagement and retention
for a significant increase of undergraduate
research activities at NJIT
for complementing existing programs, such as the
Ronald E. McNair Postbaccalaureate Achievement
Program,
for involving more of our undergraduate students
in research experiences
Number of summer research awards
The program pilot that will run this summer has
guaranteed funding for at least five students
Provost Gatley is working with University
Advancement to obtain additional funds so that
more students can participate in the program this
summer
available for NJIT undergraduate students
mentored by an NJIT faculty member
Application
Research Proposal
Faculty letter of support
submitted to UGResearch@njit.edu on March 31,
2011.
Full details on the program can be found on my web
site, http://www.njit.edu/provost/.
Subject:UG cs research
Date:Tue, 3 May 2011 11:33:45 -0400
From:Yehoshua Perl <yehoshua.perl@gmail.com>
To:Liu, Chengjun <chengjun.liu@njit.edu>
hi chengjun
for your info
we have this year again a grabnt for UG research
from NLM
,employing about 10 students.
-------- Original Message --------
Subject:Undergraduate research opportunity
Date:Fri, 25 Mar 2011 16:07:43 -0400
From:Bracero, Isabel <bracero@ADM.NJIT.EDU>
CC:Federici, John <Federici@ADM.NJIT.EDU>, Carpinelli, John
<carpinel@ADM.NJIT.EDU>
On behalf of Dr. Carpinelli
Dear Member of the Undergraduate Research Committee:
John Federici is arranging for CACI, an industry
partner, to fund two student research projects,
as
described in the attached file. Please take a look at the two job descriptions in the file. The
requested majors are just a guideline; qualified students in other majors should also consider
applying for these positions. If you know any students who would be qualified and interested,
please ask them to contact Prof. Federici (Federici@adm.njit.edu) directly. Also, please share this
with your colleagues who might have qualified students for these positions.
Going forward, efforts such as this could be a good complement to the summer undergraduate
research program we are piloting this year. Whereas the students in the pilot program would
propose their own projects, this opportunity proposes the projects and seeks students interested in
working on them. Both strategies could be used to increase undergraduate research efforts at NJIT.
I ask that you start thinking about how we could institutionalize activities such as this as part of the
committee’s future work, so we can discuss this further at our next meeting.
CS Senior Kaitlin Lackey
Retreat Remarks Spring 2011
I did not grow up playing video games and writing programs. I didn’t even decide
this is what I wanted to do until my second year of college. Coming to NJIT I felt
very intimidated not only being a girl but being someone who didn’t really know
much about programming or computer science. My lack of experience did not
matter as much as I thought it would – the education I received here has more
than made up for my lack of time involved in programming.
Last week I was showing my Mom a project I worked on for a class and she said to
me “You know I really feel like you’ve learned a lot in the past few semesters.
When you first started at NJIT and during the first semester or so I was nervous
for you but now it seems like you have learned so much and are prepared for a
job.”
I agree with her. When I transferred here, I knew a little C++ that I learned at
community college. Now, two years later I have learned Java and C++ as well as
how to manipulate a database using SQL and how to write web pages using
HTML, JavaScript, CSS, and more.
I have also had the opportunity to work with Dr. Perl and Dr. Geller’s research
group within the Computer Science department at the SABOC research center.
This opportunity has prepared me in a multitude of ways to enter the real world
with what Professor Blank calls a J.O.B. degree. Working in the SABOC research
center, I have developed my Java programming skills, learned how to work better
in groups, and been able to experience the research and development process of
a product first-hand. This type of experience is not something that you get in a
classroom.
In addition to complementing the Computer Science department, I would also like
to make a suggestion. I took CS490 this semester and thought the structure of
the class was great and I am looking forward to CS491 next semester. In this class
70% of the grade is a group project that I worked on with two other students. We
started the project the first week of class and gave our final presentation of the
project the last week of class. I think this kind of process has been beneficial to
my education for many reasons. First, working with a group is always a good
thing because this teaches you to interact with others, share your ideas, and to
work with and add to other people’s code. Second, we had to come up with the
idea for the project on our own – and this had to be something big enough for
three people to work on for an entire semester. We also had deadlines to meet
throughout the semester. The similarity of this class to a real world job is
something that I think the computer science department needs more of. If
possible, I think it would greatly benefit students if they had to take a class with
this type of structure more than twice as a computer science requirement.
I also think there should be more courses offered about the Linux operating
system. There currently are two Linux classes offered by Computer Science – but
they both have the same course description – one that looks pretty complicated
for someone who has never used a Linux operating system. I have been on a few
interviews recently for summer internships and at each one was asked if I had
experience with the Linux operating system and I had to say no. I didn’t know
that Linux was so prevalent in the “real world” of computer science. I think some
sort of introductory course that gets students acquainted to using Linux and
writing some small programs using it would be helpful and would make students
more interested in courses like CS433.
In conclusion, I am happy to receive my Computer Science degree from NJIT. As
with any college or department within a college, there is definitely room for
improvement. However, as I stated I believe the education I have received here
at NJIT as well as my experience in a research group has well prepared me to
enter the real world.
Download