自從唐宋以來,中國南方的經濟和文化教育的發展顯然超過了北方,明朝在南北的科舉名額上長期存在的紛爭,就是這種情況的反映之一。從明朝初年開始,北京的鄉試名額就比較多,而且又不論籍貫,凡是國子監的學生都可應試,所以一般比在原籍考試更易考中,尤其是比起經濟和文化教育特別發達的長江下遊三角洲地帶來說,更是這樣。
當時,凡是較大的官僚地主,常常由皇帝賜給他們的子弟人國子監讀書的資格。到了明朝末年,盛行買官,就是一般的官僚地主也可以為子弟捐個監生,輕易地得到在北京參加考試的權利。徐光啟考舉人失敗了四、五次,萬曆二十五年(1597年)對他來說是很重要的一次。趙家是個官僚,隻要是個考生就可以到北京參加應天府的鄉試。而徐光啟則是一家人連飯都吃不飽,哪有錢來捐監生?可是,不捐監生就不能到順天府參加鄉試。因此,去北京應試這個計劃,很可能是徐光啟應邀去廣西以前,就和趙家談好了的。
這次考試,閱卷官還是把徐光啟的卷子扔到孫山之外的。恰好這次主考官是學問淵博而又重實學的焦竑。直到發榜前兩天,他還認為閱卷官所選拔出的卷子沒有一個值得取為第一名的。他懷著失望的心情翻閱落選的卷子,看到了徐光啟的卷子非常高興,拍案叫絕這人一定是名士大儒,不用懷疑。”於是把徐光啟提拔到頭名。這個故事,一則說明了封建時代閱卷官們的昏庸無知。二則說明有真才實學的徐光啟,恰好遇到了重才的焦竑,才能在糟蹋人才的科舉考試中成了一次例外。三則說明徐光啟的確有才學。直到清朝,他這篇文章還被編到《讀墨簡練百篇》中,為全國秀才們所傳誦。
萬曆二十五年(1597年)徐光啟中了順天鄉試第一名舉人之後,為了參加第二年舉行的禮部會試,沒有回老家。第二年會試落第,他就回到了上海,仍然過著教書讀書的生活。經過禮部會試的再次失敗,徐光啟終於在萬曆三十二年(1604年)中了進士,進了翰林院,這是後話。
程嘉在祝徐光啟的父親徐懷西70壽辰的序文中,談到了萬曆二十六年到三十年(1598—1602年)間和徐光啟共同教書和讀書的一段生活情況。據程嘉說,他們當時和學生都住在山中一間極狹小的房子裏麵,可是他們和學生咀嚼詩書,斟酌文章,感到莫大的樂趣,他們還經常唱歌彈琴,仿佛是整天的時間都不夠用。這表明徐光啟是怎樣精神煥發,一邊教授學生,一邊又努力學習,把教學和科學研究當成是自然而快樂的事情。當然徐光啟在這段漫長的時間內,無論他自己情願不情願,並沒有放棄繼續爬他的“爛路”,同時也在教學生去爬“爛路”,作八股文。但徐光啟和別人不同,他能利用這個環境,在縱情咀嚼古典文獻的同時又大量閱讀科學書籍,並與自己從遊曆和生活中所獲得的極其豐富的社會經驗和生產知識結合起來。目的是要研究出如何使國家富強的方法和理論。注重社會實踐和生產實踐,這是徐光啟與當時一般封建官僚知識分子有著根本的不同的地方。
徐光啟自從在趙家教家館,所見的書逐漸多了,涉獵的範圍也更廣了,使他能夠把自己的實際經驗和古人的經驗相印證,這成為他提高自己科學知識水平的一個重要手段。特別值得注意的是,這個時期正好是我國古典科學成就的總結時期。明代中葉以後,由於社會經濟發展的結果,推動了一些先進知識分子對科學技術的重視。隨著資本主義生產關係的萌芽,明朝後期出了一批卓越的科學家,如李時珍、徐霞客、徐光啟、宋應星和焦竑等人,甚至連楊慎、王世貞和焦竑(徐光啟的座師)等文人名士也都接觸到科學。徐光啟的科學成就是和當時的科學發展情況分不開的。徐光啟中舉人的時候,程大位的《算法統宗》在徽州出版已有四五年,李時珍的《本草綱目》在南京出版已有一兩年。王圻的《三才圖繪》和《續文獻通考》正在上海編寫,已經到了快要完成的階段。這些重要的科學著作,徐光啟是很容易看到的。徐光啟本人則輯錄過種種天文、數學、農田、水利資料,結合實際正在進行研究,並且有了自己的見解和心得。
這時候在長江下遊三角洲地帶,為了供應棉紡、絲織等手工業的原料,農業生產需要有進一步的提高,於是興修水利就成了當時東南地區普遍采取的一項重大措施,上海地區也不斷挑唆河築塘。徐光啟在1的3年(萬曆三十一年)給上海劉邑侯提供了一份《量算河工及測驗地勢法》,作為規劃上海水利工程的參考。在這篇有高度科學實用價值的論文裏,不但反映出徐光啟對於我國古代測量學的知識非常豐富,而且還顯示了他的研究工作與具體實踐緊密結合起來的特點。當時,他還沒有接觸到西洋的測量學。後來他之所以能夠正確地翻譯和介紹西洋的應用科學,就是由於那時候他已經一方麵很好地繼承了中國的古典科學,另一方麵又從總結實際經驗中積累了豐富的農業、手工業生產的知識。這正是徐光啟成為我國傑出的科學家的主要原因。